igzip/aarch64: optimize deflate level 3 performance - #432
Open
zl523856 wants to merge 1 commit into
Open
Conversation
The aarch64 platform provides an assembly-optimized implementation of gen_icf_map_h1_aarch64. However, this optimized path was not correctly enabled for deflate compression level 3. After correcting the invocation logic, deflate throughput increased by 11%.
This optimization has been validated with igzip_perf on the ZXIC(R) ZhuFengXin Processor platform:
./igzip/igzip_perf -f 3 -y 0 -b 1024 silesia.tar (11% performance improvement)
new:
file info-> name: silesia.tar file_size: 211957760 compress_size: 75671749 ratio: 35.70%
isal_stateful_deflate-> runtime = 3623708 usecs, bandwidth 423 MB in 3.6237 sec = 116.98 MB/s
old:
file info-> name: silesia.tar file_size: 211957760 compress_size: 75699582 ratio: 35.71%
isal_stateful_deflate-> runtime = 4029556 usecs, bandwidth 423 MB in 4.0296 sec = 105.20 MB/s
All tests successful:
PASS: igzip/igzip_rand_test
Signed-off-by: zhoulu <zhou.lu1@zte.com.cn>
Contributor
|
@liuqinfei could you review this PR? Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The aarch64 platform provides an assembly-optimized implementation of gen_icf_map_h1_aarch64. However, this optimized path was not correctly enabled for deflate compression level 3. After correcting the invocation logic, deflate throughput increased by 11%.
This optimization has been validated with igzip_perf on the ZXIC(R) ZhuFengXin Processor platform:
./igzip/igzip_perf -f 3 -y 0 -b 1024 silesia.tar (11% performance improvement)
new:
file info-> name: silesia.tar file_size: 211957760 compress_size: 75671749 ratio: 35.70%
isal_stateful_deflate-> runtime = 3623708 usecs, bandwidth 423 MB in 3.6237 sec = 116.98 MB/s
old:
file info-> name: silesia.tar file_size: 211957760 compress_size: 75699582 ratio: 35.71%
isal_stateful_deflate-> runtime = 4029556 usecs, bandwidth 423 MB in 4.0296 sec = 105.20 MB/s
All tests successful:
PASS: igzip/igzip_rand_test