RFR: JDK-8147460: Clean-up jrtfs implementation

Paul Sandoz paul.sandoz at oracle.com
Thu Apr 14 08:53:22 UTC 2016


Hi Sherman,

Not a full review, I browsed the code very quickly and noticed one thing:

JrtFileSystem
—

 167     private static final Set<String> supportedFileAttributeViews
 168             = Collections.unmodifiableSet(
 169                     new HashSet<String>(Arrays.asList("basic", "jrt")));

Use Set.of.

Paul.


> On 13 Apr 2016, at 20:55, Xueming Shen <xueming.shen at oracle.com> wrote:
> 
> Hi,
> 
> Please hep review the cleanup changes for jrtfs implementation.
> 
> issue: https://bugs.openjdk.java.net/browse/JDK-8147460
> webrev: http://cr.openjdk.java.net/~sherman/8147460/webrev
> 
> Simple benchmark [1] has been run both on jimage and the "exploded modules"
> directory, the numbers suggest we also get an encouraging performance boost
> on most of the frequently invoked access methods.
> 
> [1] http://cr.openjdk.java.net/~sherman/8147460/MyBenchmark.java
> 
> Benchmark                      Mode  Cnt   Score   Error  Units
> ------------------------------------------------------------
> [jimage/existing]
> MyBenchmark.testExists         avgt   50  18.592 ± 1.213  ms/op
> MyBenchmark.testIsDirectory    avgt   50  17.382 ± 1.178  ms/op
> MyBenchmark.testIsRegularFile  avgt   50  18.576 ± 1.577  ms/op
> MyBenchmark.testItr            avgt   50  58.414 ± 1.638  ms/op
> MyBenchmark.testLookupPath     avgt   50  18.935 ± 1.093  ms/op
> MyBenchmark.testLookupStr      avgt   50  38.597 ± 1.663  ms/op
> MyBenchmark.testToRealPath     avgt   50  30.119 ± 1.196  ms/op
> 
> [jimage/new]
> MyBenchmark.testExists         avgt   50  10.865 ± 1.125  ms/op
> MyBenchmark.testIsDirectory    avgt   50  11.077 ± 1.101  ms/op
> MyBenchmark.testIsRegularFile  avgt   50  10.967 ± 1.220  ms/op
> MyBenchmark.testItr            avgt   50  49.249 ± 3.753  ms/op
> MyBenchmark.testLookupPath     avgt   50  10.857 ± 1.071  ms/op
> MyBenchmark.testLookupStr      avgt   50  34.367 ± 1.341  ms/op
> MyBenchmark.testToRealPath     avgt   50  11.460 ± 1.081  ms/op
> 
> ------------------------------------------------------------
> [exploded dir/existing]
> MyBenchmark.testExists         avgt   50   23.055 ± 1.707  ms/op
> MyBenchmark.testIsDirectory    avgt   50   23.985 ± 1.593  ms/op
> MyBenchmark.testIsRegularFile  avgt   50   24.200 ± 1.744  ms/op
> MyBenchmark.testItr            avgt   50  210.002 ± 6.954  ms/op
> MyBenchmark.testLookupPath     avgt   50   23.242 ± 1.799  ms/op
> MyBenchmark.testLookupStr      avgt   50   43.026 ± 1.751  ms/op
> MyBenchmark.testToRealPath     avgt   50   56.536 ± 1.679  ms/op
> 
> [exploded dir/new]
> MyBenchmark.testExists         avgt   50  11.260 ± 1.209  ms/op
> MyBenchmark.testIsDirectory    avgt   50  11.702 ± 1.069  ms/op
> MyBenchmark.testIsRegularFile  avgt   50  12.284 ± 1.333  ms/op
> MyBenchmark.testItr            avgt   50  49.342 ± 1.516  ms/op
> MyBenchmark.testLookupPath     avgt   50  11.041 ± 1.051  ms/op
> MyBenchmark.testLookupStr      avgt   50  35.850 ± 1.618  ms/op
> MyBenchmark.testToRealPath     avgt   50  13.016 ± 1.339  ms/op
> 
> Thanks,
> Sherman
> 




More information about the core-libs-dev mailing list