Closed taiyang-li closed 2 years ago
Adding IntelAsmCrc32c algorithm(https://github.com/htot/crc32c), which is at least 2x faster than current algorithms.
IntelAsmCrc32c
$ ./build_gcc/contrib/libhdfs3-cmake/perf_checksum HWCrc32c 1.04966 2039474432 IntelAsmCrc32c 0.367757 2039474432 SWCrc32c 16.9265 2039474432
Before improvement, CRC32 checksum HWCrc32c::update tasks the most time in RemoteBlockReader::readNextPacket, which is frequently executed when reading blocks from datanode
HWCrc32c::update
RemoteBlockReader::readNextPacket
Adding
IntelAsmCrc32c
algorithm(https://github.com/htot/crc32c), which is at least 2x faster than current algorithms.