"Richard Hipp" wrote...
The latest SQLite 3.8.7 alpha version (available on the download page
http://www.sqlite.org/download.html) is 50% faster than the 3.7.17 release
from 16 months ago. That is to say, it does 50% more work using the same
number of CPU cycles.
This performance gain is over and above the query planner improvements
have also been made. We are constantly looking for new ways to run
and adding those ways into the query planner. For example, in the
release, we added a new way to evaluate IN operators with non-constant
right-hand-sides that was reported on this mailing list to make some
queries run 5 times faster.
The 50% faster number above is not about better query plans. This is 50%
faster at the low-level grunt work of moving bits on and off disk and
search b-trees. We have achieved this by incorporating hundreds of
micro-optimizations. Each micro-optimization might improve the
by as little as 0.05%. If we get one that improves performance by 0.25%,
that is considered a huge win. Each of these optimizations is
on a real-world system (we have to use cachegrind to get repeatable
run-times) but if you do enough of them, they add up.
A full 10% of the performance gain has come since the previous release.
There have been a lot of changes. All our tests pass, and we still have
100% branch test coverage, so we are confident that we didn't break too
much. But your testing is an important part of our quality process.
Please download a source archive or a DLL and give the latest alpha a
whirl, and let us know if you encounter any problems.
P.S.: Measurements were done using the "speedtest1 --size 5" workload on
Ubuntu 10.13 and gcc 4.8.1 with -Os. YMMV. Version 3.7.17 requires
1432835574 CPU cycles and the 3.8.7 alpha requires just 953861485 CPU
cycles, as measured by cachegrind.
I don't know if folks have ever thank you, Dr. Hipp, for this wonderful gift
to the world called SQLite. I have become a legend in my own world with
this tool. :-) I do have to say that I have used it since 2006 and it has
increased in speed every year. Thank you! Thank you! And in my own native
language, muchas gracias!
sqlite-users mailing list