Hi everybody,

First of all, before anybody attacks me, I do not intend to start a flamewar. 
I have simply been testing out SQLObject and SQLAlchemy/Elixir for a program 
I'm writing (I previously posted on some issues I had). If I am to be honest, 
I like SQLObject a lot more, because its syntax and way of doing things is, 
IMHO, simpler and more Python-like. And I wouldn't have tried out Alchemy in 
the first place if it wasn't for Elixir.

After battling between tutorials and documentation, I finally managed to 
create another development branch, based on my SQLObject one, fully working 
with Alchemy/Elixir. I did this (keeping two copies of the program in the same 
repo, with different backends) so as to do a speed comparison between the two. 
Again, not that I don't like SQLO, but I just wanted to see which one was 
faster, since it benefits my application, and WHY it was faster.

The app I am talking about is a filesystem indexer, like Gnomecatalog or 
Basenji. Basically it scans the filesystem recursively and for every entry 
(file or directory), it extracts some metadata about it and stores it in a DB, 
so it can be accessed later (perfect for those storage HDs you have full of 
stuff you don't want to index by hand :)). Originally I just kept the whole 
scan content in memory and pickled it when asked, but with huge directories it 
turned into a problem, so I started looking for an alternative in the DB 
field.

I haven't thoroughly scanned it, neither is my scanning method the most 
scientific one, but the results I got so far seem to point out that 
Alchemy/Elixir is faster than SQLO. I did two scans, one with some small text 
files in just one directory, and another one with plenty (1GB+) of wallpapers 
split into two directories. Here are the results:

SQLObject:
Text files: 
real    0m25.704s
user    0m3.240s
sys     0m1.424s

Wallpapers:
real    5m25.644s
user    3m6.760s
sys     0m16.881s

SQLAlchemy/Elixir:
Text files:
real    0m13.754s
user    0m6.696s
sys     0m0.504s

Wallpapers:
real    3m58.949s
user    3m4.392s
sys     0m7.244s

Of course, numbers may not be that big, but there is a difference which I 
figure would increase on bigger scans. Are there any ideas on why would SQLO 
be a bit slower than Alchemy? Is there something that can be done to amend 
this?

If anybody wants to check out the code, its at 
git://vicarious.com.ar/indexor.git, or at github on 
http://github.com/godlike64/indexor. The branches are dev/godlike/elixir for 
the Elixir one, and dev/godlike/bleeding for the SQLObject one. Any questions 
feel free to ask me :)

Cheers

Juan Manuel Santos

PS: the program is of course in development, so some things may not quite 
work. Actually, I timed it by opening, ordering it to scan a directory, and 
closing the window. After the scan finishes (in complete background), the 
program exits and you get the time prompt).

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to