[bind10-dev] sqlite3 quick and dirty speed test

Shane Kerr shane at isc.org
Wed Dec 16 12:04:46 UTC 2009


On Mon, 2009-12-14 at 23:44 -0600, Michael Graff wrote:
> On my mac laptop, without working too hard to make it faster, I was able 
> to execute 26,100 queries/sec without using prepared statements, and 
> 101,853 queries/sec with prepared statements.
> 
> This was a loop that retrieved all the data from sqlite3, but 
> specifically did nothing with it -- no output, etc.
> 
> The API is pretty simple to use.  The sample application is checked in 
> under experiements/graff-dpapi if anyone wants to look.

Interesting...

    for (int counter = 0 ; counter < 1000000 ; counter++)
        sql.exe(prepared);

I know it's an experiment, but repeat after me: 

    ALL STATEMENTS NEED CURLY BRACES

;)

I needed to make a few changes to get it to build and run, but haven't
committed them - results should be the same.

I benched it here and was able to get about 150k queries/second for each
core on my laptop using prepared dummy statements on an empty table,
meaning 300k queries/second total. Not too shabby.

I went ahead and fired up a simple Berkeley DB version, which yielded
over 1.6 million queries per second on the same box... impressive! I
used the Oracle-provided C++ library. This version is committed to your
branch, with an updated Makefile, if you want to do some playing around
on your side.

--
Shane




More information about the bind10-dev mailing list