-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[performance] Compress windows in-memory
This reduces maximum memory usage from 22 GB to 12 GB when decompressing without an index, and from 13 GB to 2.5 GB when using an existing index. The execution time is mostly unaffected when importing an index but when creating an index, it increases from 500 s to 615 s! This probably can be reduced again by doing the window compression on the worker threads. There also is overhead for writing the index, which should also reduce again when writing out the compressed windows to the index. The index CRC32 is also unchanged by this change. After: /usr/bin/time -v src/tools/rapidgzip -v -P 24 \ --export-index index <( fcat wikidata-20220103-all.json.gz ) Time: 617.55 s, Bandwidth: 2312.94 MB/s, Max RSS: 11.95 GB exportIndex took /dev/shm/: 10.7339 s, QLC SSD: 126.635 s CRC32 index: 387ce305 Index size: 11 161 141 317 B Index write bandwidth: /dev/shm/: 1040 MB/s, QLC SSD: 88.1 MB/s /usr/bin/time -v src/tools/rapidgzip -v -P 24 -d -o /dev/null --import-index index <( fcat wikidata-20220103-all.json.gz ) Time: 205.185 s, Bandwidth: 6961.29 MB/s, Max RSS: 2.47 GB importIndex took /dev/shm/: 14.2654 s , QLC SSD: 14.5275 Without rpmalloc: /usr/bin/time -v src/tools/rapidgzip -v -P 24 -d -o /dev/null --import-index index <( fcat wikidata-20220103-all.json.gz ) Time: 354.215 s, Bandwidth: 4032.45 MB/s, Max RSS: 2.46 GB importIndex took /dev/shm/: 54.2631 s, QLC SSD: Before: /usr/bin/time -v src/tools/rapidgzip -v -P 24 \ --export-index index <( fcat wikidata-20220103-all.json.gz ) Time: 501.487 s, Bandwidth: 2848.24 MB/s, Max RSS: 22.11 GB exportIndex took /dev/shm/: 4.14887 s, QLC SSD: 106.954 s CRC32 index: 387ce305 Index size: 11 161 141 317 B Index write bandwidth: /dev/shm/: 2690 MB/s, QLC SSD: 104.4 MB/s /usr/bin/time -v src/tools/rapidgzip -v -P 24 -d -o /dev/null --import-index index <( fcat wikidata-20220103-all.json.gz ) Time: 202.629 s, Bandwidth: 7049.12 MB/s, Max RSS: 13.22 GB importIndex took /dev/shm/: 6.61642 s, QLC SSD: 9.06049 s
- Loading branch information
Showing
7 changed files
with
109 additions
and
70 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.