Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-9272

PureJavaCrc32 vs j.u.zip.CRC32 benchmark and probably replace.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.6
    • 2.8
    • general
    • None

    Description

      I see that Ignite has its own crc32 realization called: PureJavaCrc32 and from desc it seems to be : The current version is ~10x to 1.8x as fast as Sun's native java.util.zip.CRC32 in Java 1.6 But my jmh tests show opposite results.
      + If it really so, looks like backward compatibility would be easy, all that need is just to take lower part of long form zip.crc32 realization.

      jmh results (less - better):
      Benchmark                   Mode  Cnt        Score        Error  Units
      BenchmarkCRC.crc32          avgt    5  1521060.716 ±  44083.424  ns/op
      BenchmarkCRC.pureJavaCrc32  avgt    5  4657756.671 ± 177243.254  ns/op
      

      JMH version: 1.21
      VM version: JDK 1.8.0_131, Java HotSpot(TM) 64-Bit Server VM, 25.131-b11
      VM invoker: /usr/lib/jvm/java-8-oracle/jre/bin/java
      op system : ubuntu 16.10

      Attachments

        1. BenchmarkCRC.java
          2 kB
          Evgeny Stanilovsky

        Issue Links

          Activity

            People

              zstan Evgeny Stanilovsky
              zstan Evgeny Stanilovsky
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: