On one of the slower machines this takes significant time:
"main" #1 prio=5 os_prio=0 cpu=1703.13ms elapsed=2898.78s tid=0x000001cfe0126000 nid=0x1dbc runnable
[0x00000041b98fe000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(java.base@11.0.6/Native Method)
at java.io.FileInputStream.read(java.base@11.0.6/FileInputStream.java:279)
at java.io.FilterInputStream.read(java.base@11.0.6/FilterInputStream.java:133)
at java.io.PushbackInputStream.read(java.base@11.0.6/PushbackInputStream.java:183)
at java.util.zip.InflaterInputStream.fill(java.base@11.0.6/InflaterInputStream.java:243)
at java.util.zip.InflaterInputStream.read(java.base@11.0.6/InflaterInputStream.java:159)
at java.util.zip.ZipInputStream.read(java.base@11.0.6/ZipInputStream.java:195)
at java.util.jar.JarInputStream.read(java.base@11.0.6/JarInputStream.java:207)
at java.util.zip.ZipInputStream.closeEntry(java.base@11.0.6/ZipInputStream.java:141)
at java.util.zip.ZipInputStream.getNextEntry(java.base@11.0.6/ZipInputStream.java:119)
at java.util.jar.JarInputStream.getNextEntry(java.base@11.0.6/JarInputStream.java:142)
at java.util.jar.JarInputStream.getNextJarEntry(java.base@11.0.6/JarInputStream.java:179)
at org.openjdk.jcstress.util.Reflections.enumerateJAR(Reflections.java:132)
at org.openjdk.jcstress.util.Reflections.enumerate(Reflections.java:100)
at org.openjdk.jcstress.util.Reflections.enumerate(Reflections.java:93)
at org.openjdk.jcstress.util.Reflections.ensureResourceInited(Reflections.java:49)
at org.openjdk.jcstress.util.Reflections.getClassNames(Reflections.java:77)
at org.openjdk.jcstress.vm.WhiteBoxSupport.getJCStressMethods(WhiteBoxSupport.java:131)
at org.openjdk.jcstress.vm.WhiteBoxSupport.tryDeopt(WhiteBoxSupport.java:113)
at org.openjdk.jcstress.infra.runners.Runner.run(Runner.java:84)
at org.openjdk.jcstress.EmbeddedExecutor.lambda$task$0(EmbeddedExecutor.java:81)
at org.openjdk.jcstress.EmbeddedExecutor$$Lambda$6/0x0000000800062c40.run(Unknown Source)
at org.openjdk.jcstress.EmbeddedExecutor.run(EmbeddedExecutor.java:72)
at org.openjdk.jcstress.ForkedMain.main(ForkedMain.java:58)
We should really try and use buffered I/O streams.
"main" #1 prio=5 os_prio=0 cpu=1703.13ms elapsed=2898.78s tid=0x000001cfe0126000 nid=0x1dbc runnable
[0x00000041b98fe000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(java.base@11.0.6/Native Method)
at java.io.FileInputStream.read(java.base@11.0.6/FileInputStream.java:279)
at java.io.FilterInputStream.read(java.base@11.0.6/FilterInputStream.java:133)
at java.io.PushbackInputStream.read(java.base@11.0.6/PushbackInputStream.java:183)
at java.util.zip.InflaterInputStream.fill(java.base@11.0.6/InflaterInputStream.java:243)
at java.util.zip.InflaterInputStream.read(java.base@11.0.6/InflaterInputStream.java:159)
at java.util.zip.ZipInputStream.read(java.base@11.0.6/ZipInputStream.java:195)
at java.util.jar.JarInputStream.read(java.base@11.0.6/JarInputStream.java:207)
at java.util.zip.ZipInputStream.closeEntry(java.base@11.0.6/ZipInputStream.java:141)
at java.util.zip.ZipInputStream.getNextEntry(java.base@11.0.6/ZipInputStream.java:119)
at java.util.jar.JarInputStream.getNextEntry(java.base@11.0.6/JarInputStream.java:142)
at java.util.jar.JarInputStream.getNextJarEntry(java.base@11.0.6/JarInputStream.java:179)
at org.openjdk.jcstress.util.Reflections.enumerateJAR(Reflections.java:132)
at org.openjdk.jcstress.util.Reflections.enumerate(Reflections.java:100)
at org.openjdk.jcstress.util.Reflections.enumerate(Reflections.java:93)
at org.openjdk.jcstress.util.Reflections.ensureResourceInited(Reflections.java:49)
at org.openjdk.jcstress.util.Reflections.getClassNames(Reflections.java:77)
at org.openjdk.jcstress.vm.WhiteBoxSupport.getJCStressMethods(WhiteBoxSupport.java:131)
at org.openjdk.jcstress.vm.WhiteBoxSupport.tryDeopt(WhiteBoxSupport.java:113)
at org.openjdk.jcstress.infra.runners.Runner.run(Runner.java:84)
at org.openjdk.jcstress.EmbeddedExecutor.lambda$task$0(EmbeddedExecutor.java:81)
at org.openjdk.jcstress.EmbeddedExecutor$$Lambda$6/0x0000000800062c40.run(Unknown Source)
at org.openjdk.jcstress.EmbeddedExecutor.run(EmbeddedExecutor.java:72)
at org.openjdk.jcstress.ForkedMain.main(ForkedMain.java:58)
We should really try and use buffered I/O streams.