> When backporting [JDK-8312127](https://bugs.openjdk.org/browse/JDK-8312127), 
> I realized there are no targeted tests for `FileDescriptor.sync` that can be 
> used to qualify the changes in that area. 
> 
> Additionally, we use `FD.sync` for durability in Java databases, and we want 
> to make sure at least some smoke tests are available in OpenJDK. Asserting 
> durability would be hard, but let's at least test the Java code does not 
> throw unexpected exceptions and native code does not crash the VM.
> 
> The benchmark will show, among other things, that the recent change to 
> `FileDescriptor.sync` does not affect the performance much, compared to the 
> cost of the `fsync` itself. It deliberately targets tmpfs to provide the 
> lowest actual FS overhead.
> 
> 
> Benchmark                Mode  Cnt    Score   Error  Units
> 
> # Before JDK-8312127
> FileDescriptorSync.sync  avgt   15  351,688 ? 2,477  ns/op
> 
> # After JDK-8312127
> FileDescriptorSync.sync  avgt   15  353,331 ? 2,116  ns/op
> 
> 
> The new regression test completes in <0.5s on my Mac.

Aleksey Shipilev has updated the pull request incrementally with one additional 
commit since the last revision:

  Review comments

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/15231/files
  - new: https://git.openjdk.org/jdk/pull/15231/files/19f8c6fb..e66c244a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15231&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15231&range=00-01

  Stats: 32 lines in 1 file changed: 18 ins; 8 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/15231.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15231/head:pull/15231

PR: https://git.openjdk.org/jdk/pull/15231

Reply via email to