I've found sqlite's performance on bulk insertions to be massively (100x) improved by wrapping the bulk insertion in a transaction.
fsync()ing a couple hundred thousand individual INSERTs isn't fast.
fsync()ing a couple hundred thousand individual INSERTs isn't fast.