Thread (138 messages) flat view 138 messages, 9 authors, 2022-03-10

Re: [PATCH v3 2/6] core.fsyncobjectfiles: batched disk flushes

From: Neeraj Singh <hidden>
Date: 2021-09-14 19:05:37

On Tue, Sep 14, 2021 at 3:39 AM Bagas Sanjaya [off-list ref] wrote:
On 14/09/21 10.38, Neeraj Singh via GitGitGadget wrote:
quoted
_Performance numbers_:

Linux - Hyper-V VM running Kernel 5.11 (Ubuntu 20.04) on a fast SSD.
Mac - macOS 11.5.1 running on a Mac mini on a 1TB Apple SSD.
Windows - Same host as Linux, a preview version of Windows 11.
        This number is from a patch later in the series.

Adding 500 files to the repo with 'git add' Times reported in seconds.

core.fsyncObjectFiles | Linux | Mac   | Windows
----------------------|-------|-------|--------
                 false | 0.06  |  0.35 | 0.61
                 true  | 1.88  | 11.18 | 2.47
                 batch | 0.15  |  0.41 | 1.53
Interesting here the performance.

You said that core.fsyncObjectFiles=batch performed 2.5x slower than
core.fsyncObjectFile=false on Linux and Windows, why?
The goal of batch mode is to minimize the number of disk cache flush operations.
We still have to issue writes to the disk (and wait for them to
complete) in batch mode,
and on my test system those writes have to cross the VM boundary.  The
Mac is running
macOS natively, so performance of the writes is probably a little better.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help