Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using F_FULLFSYNC for flush() causing slow performance on Mac #156

Open
dslee414 opened this issue Jan 18, 2024 · 1 comment
Open

Using F_FULLFSYNC for flush() causing slow performance on Mac #156

dslee414 opened this issue Jan 18, 2024 · 1 comment

Comments

@dslee414
Copy link
Collaborator

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

  • 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.

Any thoughts?

@annevk
Copy link
Member

annevk commented Jan 22, 2024

cc @whatwg/storage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants