Chromium uses F_FULLFSYNC for handle.flush() on Mac, for which we have received feedback on noticeably slow performance, compared to other browsers: https://crbug.com/1440778
Are other vendors using or not using F_FULLFSYNC (vs. fsync)? If not using, what was the reasoning behind the decision?
As the bug above references this, Safari seems to have chosen NOT to use it a long time ago -- is it still the case?
Have you observed any performance difference between Mac and Windows?
In most use cases, flush() shouldn't or wouldn't be called too often, but perhaps there might be some advanced use case such as the one reported in the chromium bug above.
In any case, we could consider making full-sync behavior configurable at API-level, but not quite sure how this would fit into API, given that it is OS-specific behavior, and also at what granularity. Alternatively, Chromium could consider not using F_FULLFSYNC without any API changes, but that would also introduce divergence between Mac and Windows.
What is the issue with the File System Standard?
Chromium uses F_FULLFSYNC for handle.flush() on Mac, for which we have received feedback on noticeably slow performance, compared to other browsers: https://crbug.com/1440778
In most use cases, flush() shouldn't or wouldn't be called too often, but perhaps there might be some advanced use case such as the one reported in the chromium bug above.
In any case, we could consider making full-sync behavior configurable at API-level, but not quite sure how this would fit into API, given that it is OS-specific behavior, and also at what granularity. Alternatively, Chromium could consider not using F_FULLFSYNC without any API changes, but that would also introduce divergence between Mac and Windows.
Any thoughts?