Stress tests
Kem Tekinay
ktekinay at mactechnologies.com
Mon Apr 24 00:37:13 CDT 2006
While preparing to release Data-On-Demand ListBox v.1.5, I decided to run a
stress test using Valentina on the backend. I created a 5 million row test
file of 7 fields and imported that. I'm happy to say that Data-On-Demand
ListBox performs well, but I discovered some interesting things about
Valentina. Keeping in mind that none of this was done in a scientific way:
- Valentina was inited with a 40 MB cache. The data was imported using
Valentina's ImportText command.
- Sorting data on an indexed field took about 10 seconds on my dual-2.5 GHz
PowerMac G5, but the sort was incorrect. That is, in what should have been a
simple alphabetical sort, the first row started with a "D" when there were
"A"'s available. Reindexing with Valentina Studio solved that problem.
- Searches were performed using the class-way on the three indexed fields,
Zip, City and State. A "starts with" search was almost instant no matter how
many results were returned. For example, "zip, city, or state starts with 1"
yielded 542,283 records and took 0.015 seconds. (BTW, Data-On-Demand ListBox
displayed those results in 0.147 seconds, and the whole 5 million rows in
under 1.5 seconds!)
- "Ends with" searches were slower. For example, "zip, city, or state ends
with 1" yielded 651,666 records and took from 2.5 to 4.0 seconds.
- "Contains" searches took longer. "Zip, city or state contains 55" yielded
167,816 records and took anywhere from 6.5 to 10 seconds.
- "Like" searches were similar in speed to "contains" searches. For example,
"zip, city, or state like 'n%w%k' yielded 254 records and took anywhere from
6.5 to 10 seconds.
- While I was running these tests, Valentina did something that caused a lot
of thrashing and that particular search took MUCH longer.
- Even though there had been no crashes or other issues, I ran DIAGNOSE from
Valentina Studio. VS reported "problems found" at the end, but the actual
details showed no issues. After reindexing, there were no problems found.
- The original import file was 397 MB, and the final Valentina database
files combined to 736 MB.
- The 10 minute demo time limit is too annoying and limiting. There should
be NO time limit in the IDE and a 10 minute time limit in compiled apps
only.
My conclusion: Even at its slowest, Valentina truly is ridiculously fast.
Even the slowest "like" search took only 10 seconds to search three fields
in 5 million records. By comparison, the SQLite engine that comes with
REAlbasic was too slow to use for this purpose.
However, too many records reveals a bug in the creation of indexes and
reindexing is probably a good idea.
__________________________________________________________________________
Kem Tekinay (212) 201-1465
MacTechnologies Consulting Fax (914) 242-7294
545 Eighth Avenue, Suite 401 Pager (917) 491-5546
New York, New York 10018 http://www.mactechnologies.com
To join the MacTechnologies Consulting mailing list, send an e-mail to:
mactechnologies_consulting-subscribe at yahoogroups.com
More information about the Valentina
mailing list