Thank you very much. I am happy to hear that the performance I am seeing is in line with what others have observed. I am running this on Windows XP.
On Tue, 22 Nov 2005, Akira Higuchi wrote: > Hi, > > On Mon, 21 Nov 2005 10:56:41 -0500 (EST) > Shane Baker <[EMAIL PROTECTED]> wrote: > > > I just need to figure out why my performance is about 30x slower than what > > others are reporting when using the library in similar ways. > > Are you using sqlite on windows or MacOS X? > > As I tested, sqlite performs 10 write transactions per sec on > windows and MacOS X. On Linux, sqlite performs up to 300 write > transactions per sec if HDD cache is enabled. However, when HDD cache > is disabled (/sbin/hdparm -W0 /dev/hda etc.), it drops to 10 > transactions per sec. > > To ensure ACID compliance, sqlite seems to be using FlushFileBuffers() on > windows, F_FULLFSYNC fcntl() on MacOS X, and fsync() on other unixes. > FlushFileBuffers and F_FULLFSYNC fcntl() flush HDD write-back > cache, and they are very slow. However, many implementations of fsync() > don't flush HDD cache (they flush OScache only). It's very fast, but > dangerous (not ACID compliant) if HDD cache has no battery backup. > (So i'm using sqlite on Linux with HDD cache off.) >