I fill the ticket, bench code attached there.
https://issues.apache.org/jira/browse/IGNITE-9272
Thanks!


>Has anyone else run the benchmark and reproduced the performance
>difference?
>
>On Tue, Aug 14, 2018 at 8:16 AM, Dmitriy Pavlov < dpavlov....@gmail.com >
>wrote:
>
>> It depends.
>>
>> CRC is a CPU-intensive operation, while WAL logging and page store write
>> are mostly about IO speed.
>>
>> In the same time, it can make the huge impact on machines with fast IO 
>> and
>> slow CPU. So if we can apply change proposed by Evgeniy and Alexey it 
>> could
>> benefit performance because we save CPU. Later we can use it's power in a
>> more efficient manner (e.g. with compression).
>>
>> вт, 14 авг. 2018 г. в 14:03, Yakov Zhdanov < yzhda...@apache.org >:
>>
>> > Guys, what time in % does crc calculation take in WAL logging process?
>> >
>> > --Yakov
>> >
>> > 2018-08-14 13:37 GMT+03:00 Dmitriy Pavlov < dpavlov....@gmail.com >:
>> >
>> > > 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