4 hours ago · Tech · hide · 0 comments

This is just a short note about how I learned that SQLite performance can be improved by using the write-ahead log (WAL) instead of the default rollback journal, and one transaction per test suite instead of one per test case. Basically, WAL makes a huge difference. One transaction per test suite instead of one per test case provides an additional improvement, though no where near what WAL does. I originally designed Faultline for testing code written in C. Test results are recorded in an SQLite database. My local copy of the repo used to be on a SSD, and I hardly noticed how much longer test runs were taking to complete as I added test suites and other code to support C++ code. Sadly, the SSD started failing, so I moved the repo to a HDD and noticed tests were taking significantly longer to complete. I know HDDs are much slower than SSDs, but the additional time per test run seemed out of proportion with the move. Long story short, I learned that setting the synchronization mode in…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.