Re:SQLite (with WAL) doesn't do `fsync` on each commit under...
by senderista on Sunday August 24, 2025 @03:44PM
(#45007098)
You can enqueue fsync as an op in io_uring, using link flag to sequence it after previous ops and drain flag to ensure no new ops are started until it completes.
Re:SQLite (with WAL) doesn't do `fsync` on each commit under...
by dgshsg on Monday August 25, 2025 @03:35AM
(#45011281)
You still need to wait for it to complete to report the commit success to the user, the cost of syscall itself is rather minor here.
Re:SQLite (with WAL) doesn't do `fsync` on each commit under...
by senderista on Monday August 25, 2025 @02:47PM
(#45017454)
Avoiding the syscall cost is about maximizing throughput, not minimizing latency. The media's time-to-durability is what it is.
Its an extra syscall. It depends on the use-case if its needed or not