alexis@ccnysci.UUCP (Alexis Rosen) (04/17/89)
I was playing around with an Alpha test release of Fox 2.0 last night, and I noticed that it had a different "feel" than the 1.1 release I generally use. So I pulled out a benchmark program I had previously written for another purpose, and ran it in both Foxbases. Wow! The results are amazing. It turns out that execution of user code is almost twice as slow as 1.1, because of all the debugging code in the Alpha. When it's released, that slowdown will be gone. But this slowdown is NOT what I noticed... My benchmark uses a 12-MByte database with about 33,300 records. I timed how long it takes to create an index on a nine-digit numeric field. The time went DOWN, from about 63 seconds to about 46! That's damn impressive. But it gets better. The other index I build is on "Lower(title)", where "title" is a thirty-character text field and "Lower()" is a function that converts a string to all-lowercase. The time went down from about 185 seconds to *** 62 SECONDS ***. This is pretty incredible. Furthermore, analyzing the nature of the speedup seems to indicate that they have improved their application of the index function to rows (records), rather than changed the indexing engine. This is a Good Thing, since many (most?) important indices are large and/or complex. I haven't had have the time to test the Sort command and other index-based multi-record commands, but Seek seems to have been sped up as well. It is impossible to gauge the speedup of the Seek command, since I'd need to write a loop to test it a few thousand times, but the slowed-down code execution in this alpha makes it impossible to tell exectly how much of a gain there is. Still, it my best guess is that seeking an uncached record may be anywhere from 50% to 80% faster. (i.e., from n seeks in 10 seconds to n seeks in 6 to 7 seconds.) Along with the report writer, the XCMDs, and the language extensions, it makes for a pretty incredible upgrade... I've said this before but... I have no affiliation with Fox Software, except as an incredibly satisfied user and tester of FoxBase. --- Alexis Rosen alexis@ccnysci.{uucp,bitnet} alexis@rascal.ics.utexas.edu (last resort)