> Can you rerun your tests with the latest CVS check-in > and let me know if it makes a difference?
With the latest CVS, Dennis' :memory: database test without outer BEGIN/COMMIT is now 4.3 times faster on my machine (58.1s before, 13.4s now). profile results with dirty pages fix: % cumulative self self total time seconds seconds calls ms/call ms/call name 9.20 0.31 0.31 100011 0.00 0.03 sqlite3VdbeExec 7.42 0.56 0.25 4849544 0.00 0.00 sqlite3VdbeRecordCompare 6.68 0.79 0.23 10487713 0.00 0.00 parseCellPtr 5.04 0.95 0.17 12943618 0.00 0.00 sqlite3VdbeSerialGet 5.04 1.12 0.17 400006 0.00 0.00 sqlite3BtreeMoveto 4.45 1.27 0.15 6471807 0.00 0.00 sqlite3MemCompare 3.56 1.40 0.12 19270230 0.00 0.00 get2byte 3.56 1.51 0.12 12181181 0.00 0.00 findCell 3.26 1.62 0.11 3227291 0.00 0.00 binCollFunc 2.97 1.73 0.10 2064924 0.00 0.00 sqlite3pager_get 2.82 1.82 0.10 4500154 0.00 0.00 sqlite3pager_unref 2.67 1.91 0.09 29816 0.00 0.02 balance_nonroot 2.37 1.99 0.08 2716112 0.00 0.00 _page_ref 2.23 2.06 0.07 5270826 0.00 0.00 findOverflowCell 2.08 2.13 0.07 2100045 0.00 0.00 sqlite3VdbeSerialType 2.08 2.21 0.07 1332302 0.00 0.00 initPage 2.08 2.27 0.07 86067 0.00 0.00 assemblePage 1.78 2.33 0.06 300004 0.00 0.01 sqlite3BtreeInsert 1.48 2.38 0.05 6735322 0.00 0.00 put2byte 1.48 2.44 0.05 3432951 0.00 0.00 pager_lookup results for same test with yesterday's CVS: % cumulative self self total time seconds seconds calls ms/call ms/call name 83.61 25.20 25.20 100002 0.25 0.25 pager_get_all_dirty_pages 1.87 25.77 0.56 100011 0.01 0.17 sqlite3VdbeExec 1.00 26.07 0.30 4849544 0.00 0.00 sqlite3VdbeRecordCompare 0.78 26.30 0.23 10487713 0.00 0.00 parseCellPtr 0.63 26.49 0.19 12943618 0.00 0.00 sqlite3VdbeSerialGet 0.60 26.67 0.18 400006 0.00 0.00 sqlite3BtreeMoveto 0.50 26.82 0.15 3432951 0.00 0.00 pager_lookup 0.43 26.95 0.13 2064924 0.00 0.00 sqlite3pager_get 0.38 27.07 0.12 6471807 0.00 0.00 sqlite3MemCompare 0.36 27.18 0.11 19270230 0.00 0.00 get2byte 0.36 27.29 0.11 1368027 0.00 0.00 reparentPage 0.36 27.39 0.11 29816 0.00 0.03 balance_nonroot 0.33 27.50 0.10 2716112 0.00 0.00 _page_ref 0.33 27.59 0.10 1858370 0.00 0.00 getAndInitPage 0.30 27.68 0.09 4849549 0.00 0.00 fetchPayload 0.28 27.77 0.09 6735322 0.00 0.00 put2byte 0.28 27.86 0.09 1964919 0.00 0.00 getPage 0.27 27.93 0.08 12181181 0.00 0.00 findCell 0.27 28.02 0.08 5270826 0.00 0.00 findOverflowCell 0.27 28.09 0.08 2722659 0.00 0.00 pageDestructor 0.27 28.18 0.08 1332302 0.00 0.00 initPage 0.27 28.25 0.08 359548 0.00 0.00 insertCell 0.27 28.34 0.08 300004 0.00 0.01 sqlite3BtreeInsert 0.25 28.41 0.07 4500154 0.00 0.00 sqlite3pager_unref __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com