Hey all. I've been struggling with a basic perf issue running the same code on Windows vs. iOS and OSX.
Basic query set: CREATE TABLE test (col1 int, col2 text); [loop 500 times]: INSERT INTO TEST (col1,col2) VALUES (4,'test4') I'm coding this using the default C amalgamation release and using prepare/etc. on all platforms in the exact same way (same very simple DB-access class I made). I realize that using a transaction around this would vastly improve perf, but given the atomic nature of the app that this test is simulating, it won't work to wrap it into transactions, so my goal is to improve the atomic performance. These are all being run on the same Macbook Pro, with an SSD, running Windows via boot camp, OSX natively, and iOS via the iOS simulator: With defaults (pragma sync = on, default journal_mode): Windows: 2500ms iOS: 300ms OSX: 280ms With pragma sync = off, journal_mode = memory: Windows: 62ms iOS: 25ms OSX: 25ms Turning off sync doesn't make me feel warm and fuzzy about our lost-power scenario, so with sync on, it seems like something must be fishy for it to be ~8-9x slower than the other platforms. Is there something ridiculous about the windows file system performance that hoses sqlite's open/read/write/close transaction cycle? Is there anything I can do, or just accept it and move on? With how that scales up, we may need to move to something like using embedded MySQL or LocalDB on Windows to get the same performance as we see with SQLite on other platforms, which seems quite ridiculous. Thanks! -David _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users