Hi Alex, thank you for this idea.

Evgeniy, Alex, would you like to submit the patch with bypassing
implementation differences to keep compatibility?

Sincerely,
Dmitriy Pavlov

вт, 14 авг. 2018 г. в 12:06, Alex Plehanov <plehanov.a...@gmail.com>:

> Hello, Igniters!
>
> In java8 java.lang.zip.CRC32 methods become intrinsic, moreover new
> "update" method, which use ByteBuffer was introduced. Since we moved to
> java8, perhaps we really can get performance boost by using standard
> java.lang.zip.CRC32 instead of PureJavaCrc32.
>
> About compatibility: looks like PureJavaCrc32 implements the same algorithm
> as java.lang.zip.CRC32. These two implementations uses the same polynomial
> and the same initial value. The only difference is final xor mask
> (0xFFFFFFFF for java.lang.zip.CRC32). So, we can easily convert from
> PureJavaCrc32
> to standard CRC32 and vice versa, using this expression: crc32 ^=
> 0xFFFFFFFF
>
>
> 2018-08-14 0:19 GMT+03:00 Eduard Shangareev <eduard.shangar...@gmail.com>:
>
> > Evgeniy,
> >
> > Could you share benchmark code? And please share what version of JVM
> > you have used.
> >
> > On Mon, Aug 13, 2018 at 10:44 PM Zhenya <arzamas...@mail.ru.invalid>
> > wrote:
> >
> > > I think it would break backward compatibility, as Nikolay mentioned
> above
> > > we would take exception here:
> > >
> > > [1]
> > >
> > > https://github.com/apache/ignite/blob/master/modules/
> > core/src/main/java/org/apache/ignite/internal/processors/
> > cache/persistence/file/FilePageStore.java#L372
> > >
> > > thats why i question for community thoughts here.
> > >
> > > > Hi Evgeniy,
> > > >
> > > > would you like to submit a patch with CRC32 implementation change?
> > > >
> > > > Sincerely,
> > > > Dmitriy Pavlov
> > > >
> > > > пн, 13 авг. 2018 г. в 22:08, Евгений Станиловский
> > > > <arzamas...@mail.ru.invalid>:
> > > >
> > > >> Hi, igniters, i wrote a simple bench, looks like PureJavaCrc32 has
> > > >> performance problems in compatible with zip.CRC32.
> > > >>
> > > >> Benchmark Mode Cnt Score Error Units
> > > >> BenchmarkCRC.Crc32 avgt 5 1088914.540 ± 368851.822 ns/op
> > > >> BenchmarkCRC.pureJavaCrc32 avgt 5 6619408.049 ± 3746712.210 ns/op
> > > >>
> > > >> thoughts?
> > >
> >
>

Reply via email to