You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The performance hit mostly comes from the journal rotation which needs to fsync 2x (?) to disk.
It would be better for performance to send a message via channel, announcing that the partition needs to be flushed, nullifying rotation costs inside the write hot path, which should give quite a performance boost for write heavy applications (currently it is slightly slower than Rocks).
The messages should be picked up by a worker that rotates the partition asynchronously, essentially performing the Partition::rotate_memtable function:
Currently the memtable rotation happens in the write hot path when the memtable size threshold is reached:
fjall/src/partition/mod.rs
Lines 747 to 752 in 9395ba1
The performance hit mostly comes from the journal rotation which needs to fsync 2x (?) to disk.
It would be better for performance to send a message via channel, announcing that the partition needs to be flushed, nullifying rotation costs inside the write hot path, which should give quite a performance boost for write heavy applications (currently it is slightly slower than Rocks).
The messages should be picked up by a worker that rotates the partition asynchronously, essentially performing the
Partition::rotate_memtable
function:fjall/src/partition/mod.rs
Line 633 in 9395ba1
The text was updated successfully, but these errors were encountered: