Hi all,

Why not integrate a patch like this one
(http://www.sqlite.org/cvstrac/tktview?tn=1250) in the
next cvs. It would awesome for us windows users to be
able to chose between FILE_FLAG_WRITE_THROUGH and
FlushFileBuffers, with a PRAGMA for instance!

I did make the changes in the pacth using 3.3.2 as
base (I had to change a few function names + change
the 'id->' in to 'f.' + did not like '@@ -169,6 +192,7
@@ (..) +  id->writeThru = 0;' so I did apply that
change).

Anyways, I went with this solution after experiencing
extremely slow performance doing multiple simple
insterts. I know about the Synchronous=OFF (which
works wonders as far as performance), as well as using
transactions (which also works great, except that I
have multiple processes using the same database and
inserting/updating stuff atomically).

Here's the pseudo-code that I used:

- 'CREATE TABLE Test (TestID INTEGER PRIMARY KEY,
TestValue INTEGER);'
- Do N x 'INSERT INTO Test (TestValue) VALUES (1)';

At first, I tested the 3.3.2 official version on three
computers and it got really confusing:
- AMD64 3500+, 1GB, SATA, Media Center 2005
- P4 2Ghz, 512MB, IDE, Win XP
- Celeron 3GHz, SATA, WinXP

Well on both the AMD and P4 I got about 8-10 inserts
per sec!!! whereas I was getting about 70 inserts per
sec on the Celeron.

I was puzzled as it did not make sense since the AMD
and celeron were comparable in hardware/speed (SATA
drives, etc...). I narrowed it down to the
FlushFileBuffers command being extremely slow on
windows on some configurations. Using the patch (and
using FILE_FLAG_WRITE_THROUGH) fixed my problem as I
was getting about 70 inserts per second on all systems
afterwards!

So, again, would it be possible to add a PRAGMA or
other into the next release? 

I was ready to walk away from such a great product
just because of that (I was not asking for 10,000
inserts a sec, but 8/sec on a brand new AMD was kind
of disappointing. 80/sec is much more were I was
hoping to be).

Thank you for your support,

Nono.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to