Repository navigation
Conversation
|
On Apple's platforms, std file sync will use full fsync instead of regular fsync, with higher overheads. Matching the behavior on other platforms would require adding a dependency such as Some Unix platforms don't support I also ran into another issue. fsync errors should generally not be retried, but |
ff8a58b to
df101e2
Compare
|
Could you run a benchmark to measure the differences? |
df101e2 to
90abad3
Compare
|
Performance impact
|
erickguan
left a comment
There was a problem hiding this comment.
Would majority of use cases have temp_path = None?
What if two paths are in two different file systems?
The
|
Xuanwo
left a comment
There was a problem hiding this comment.
Let's postpone this change until we figure out how to avoid surprising our users.
|
The current fs behavior looks quite stable. If we document If you want to go further, uutils looks quite promising. But uutils wants to implement cp. uutils might not optimize performance, neither has proper crates to reuse the code. I would suggest caution because uttils work requires lots of efforts. |
Which issue does this PR close?
Closes #.
Rationale for this change
Write is not crash-safe on unix.
What changes are included in this PR?
fsync.Are there any user-facing changes?
N/A
Breaking changes
N/A
AI Usage Statement
GPT: Investigation, research, and exploration
Guided code implementation.