> Here is a typical outputs from the program running in debug mode:

Debug builds can be substantially slower.  I would expect at least some 
performance improvement with a release build (optimizations on).


> Notice my constraint is these SQL statements must run one by one, not within 
> a transaction.

Alas, this will dramatically reduce write performance.  Since each 
insert statement will now require an explicit disk flush, it will be 
very slow.  Is there *really* no way to group multiple writes together? 
  As you've likely read elsewhere, doing so can provide orders of 
magnitude performance improvements-- well worth the effort to reorganize 
your architecture a bit.


> 1) are these expected performance on windows?
> 2) if not, what can be done to improve it?

If you really must run the statements individually, you have a few (less 
than perfect) alternatives:

- Turn off synchronous writes ("pragma synchronous = OFF").  Though this 
will dramatically improve your insert performance, you will be running 
without any safety net: If the application crashes or exits during a 
write, your database may become (permanently) corrupted.

- The compiler optimizations (above) will likely help somewhat, though 
not terribly much.

- A faster (higher RPM) hard drive will help somewhat.


~Eric

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to