By the way, I also realized that the PRAGMA synchronous=OFF does not work anymore, so there probably a little bit of work there to insure that the safety_level is passed correctly in the os_win.c functions (so that the FILE_FLAG_WRITE_THROUGH flag is not used when we are on safety_level=OFF).
Thank you, Arnaud. --- Nono BEZMan <[EMAIL PROTECTED]> wrote: > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com