ANNOUNCE: KirbyBase 1.5

Jamey Cribbs
Wed, 03 Sep 2003 22:34:47 GMT

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:


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

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?  :)