KirbyBase 1.5 is now available at:
What is KirbyBase?
KirbyBase is a simple, pure-Python, plain-text, flat-file database management system that can be used either embedded in your application or in a client/server, multi-user mode.
To find out more about KirbyBase, go to: http://www.netpromi.com/kirbybase.html
Well after reading some posts on comp.lang.python about how slow eval can be, I set about eliminating eval from KirbyBase. It resulted in uglier code, but increased performance, enough of a performance increase that I figured I would go ahead and release a new version. Specifically, the changes are:
Changed the way queries are handled internally. Instead of doing an eval to do numeric and datetime comparisons, I changed it to do the actual comparison itself. This resulted in a 40% speed increase on large queries that do comparison expressions.
Changed how data is passed between the server and the client in client/server mode. I now use cPickle instead of repr and eval. This resulted in an approximately 40% speed increase in client/server operations.
An anecdotal example, doing a date range select query against a 78,000 record table returning 23,800 records in the result set. Version 1.4: 13 seconds Version 1.5: 8 seconds
Who says Python isn't fast? :)