> In any case we seem to be settling to a long term > sustained rate of > about 40 flushes per second for WinXP. Since SQLite > is getting only 10 > inserts per second, it seems to me that SQLite must > be doing about 4 > flushes per insert. Does that seem right to you > Richard?
For what it's worth, it's maybe slightly worse on FreeBSD. Here's a sample of iostat for the (original) C benchmark with sqlite2: tty ad0 cpu tin tout KB/t tps MB/s us ni sy in id 0 43 11.71 661 7.56 12 0 5 2 81 0 129 13.65 457 6.08 2 0 1 1 96 0 43 13.16 662 8.52 2 0 6 2 91 0 43 13.21 767 9.89 2 0 8 2 89 0 43 13.61 591 7.86 5 0 2 1 93 0 43 13.19 523 6.74 0 0 5 2 93 0 43 13.21 520 6.71 1 0 3 1 95 0 43 13.45 453 5.95 1 0 6 0 93 0 43 13.26 663 8.59 2 0 4 1 93 0 43 13.17 410 5.27 2 0 2 2 95 0 43 13.52 495 6.53 2 0 2 0 97 8 43 13.41 565 7.40 2 0 6 1 91 I/O transactions/s rate probably averages to something like 550, and the benchmark reported ~90 queries/s, so the rate is around 6 I/O ops per INSERT. sqlite3 is similar, but with a twist: tty ad0 cpu tin tout KB/t tps MB/s us ni sy in id 0 43 11.48 560 6.28 2 0 4 2 92 0 129 11.79 695 8.01 2 0 5 1 92 0 43 12.12 405 4.79 5 0 5 0 91 0 43 12.57 483 5.92 1 0 7 0 93 8 43 12.66 384 4.74 2 0 3 2 94 0 43 12.00 416 4.87 1 0 4 0 95 0 43 11.93 756 8.81 2 0 3 2 93 0 43 12.04 696 8.19 3 0 3 1 93 8 43 12.36 677 8.17 1 0 3 1 95 8 43 12.38 680 8.22 2 0 5 0 94 0 43 11.74 554 6.36 0 0 1 1 98 0 43 12.16 657 7.80 1 0 2 1 96 0 43 12.16 789 9.37 2 0 3 1 95 0 43 12.36 573 6.92 2 0 5 2 92 The I/O transactions/s rate is similar (or at least not significantly lower) but the transactions are a bit smaller. Measured ~65 INSERTs/sec. so it's ~8 I/O transactions per INSERT. Exact statistics calulations are left as an excercise for the reader :) (interpretation of cpu stats: time spent in file system & disk is "sy" (=system) + "in" (=interrupt); id=idle, us=user) __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com