6 ms·
Wait how is sqlite doing a million inserts a second?
by dumbledorf 3mo ago
Wait how is sqlite doing a million inserts a second?
- kg 3mo agosqlite is really fast. I'm surprised it's only a million.
- deleted 3mo ago[deleted]
- andersmurphy 3mo agoIt's running on an M1 mac with synchronous full. Wouldn't surprise me if it's possible to get higher numbers.
- smitty1e 3mo ago':memory:' https://sqlite.org/inmemorydb.html https://sqlite.org/inmemorydb.html
- KPGv2 3mo agoExcept this source code is not using :memory: The linked source code has (defonce db (d/init-db! "db/db.db" {:pool-size 4 :pragma {:synchronous "FULL"}})) That's writing to disk.
- andersmurphy 3mo agoYes it's writing to disk (on a M1 mac which has terribly slow fsync). But, because of the transaction the fsync dance is done once per batch. Each row is the id + a 50 byte data blob. There's only one index so there's no real write amplification. The numbers will go down as you add more data and indexes.
- JSR_FDED 3mo agoIn batches