[dpdk-dev] [PATCH 0/2] rewritten rte_hash_crc() call
Yerden Zhumabekov
e_zhumabekov at sts.kz
Wed Sep 3 08:05:49 CEST 2014
As SSE4.2 provides CRC32 instructions with either 32 and 64 bit operands,
new rte_hash_crc_8byte() call assisted with _mm_crc32_u64 intrinsic may be
useful.
Then, rte_hash_crc() function is redesigned to take advantage of both 32
and 64 bit operands. This improves the function's performance significantly.
Results of my test run on a single CPU core are below.
CPU: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Number of iterations/chunks: 52428800
Chunk size: 24
rte_hash_crc: 0.379 sec, hash: 0x14c64e11
rte_hash_crc_new: 0.253 sec, hash: 0x14c64e11
Chunk size: 25
rte_hash_crc: 0.442 sec, hash: 0xa9afc779
rte_hash_crc_new: 0.316 sec, hash: 0xa9afc779
Chunk size: 26
rte_hash_crc: 0.442 sec, hash: 0x92f2284b
rte_hash_crc_new: 0.316 sec, hash: 0x92f2284b
Chunk size: 27
rte_hash_crc: 0.442 sec, hash: 0x7c4655ff
rte_hash_crc_new: 0.316 sec, hash: 0x7c4655ff
Chunk size: 28
rte_hash_crc: 0.442 sec, hash: 0xf577c6b4
rte_hash_crc_new: 0.316 sec, hash: 0xf577c6b4
Chunk size: 29
rte_hash_crc: 0.505 sec, hash: 0x6e18ba55
rte_hash_crc_new: 0.337 sec, hash: 0x6e18ba55
Chunk size: 30
rte_hash_crc: 0.505 sec, hash: 0x35f07dbb
rte_hash_crc_new: 0.337 sec, hash: 0x35f07dbb
Chunk size: 31
rte_hash_crc: 0.505 sec, hash: 0x1bf2ee8c
rte_hash_crc_new: 0.337 sec, hash: 0x1bf2ee8c
Yerden Zhumabekov (2):
hash: add new rte_hash_crc_8byte call
hash: rte_hash_crc uses 8- and 4-byte CRC32 intrinsics
lib/librte_hash/rte_hash_crc.h | 47 +++++++++++++++++++++++++++++++++-------
1 file changed, 39 insertions(+), 8 deletions(-)
--
1.7.9.5
More information about the dev
mailing list