diff options
author | Kirill Bobyrev <kbobyrev.opensource@gmail.com> | 2018-09-25 11:54:51 +0000 |
---|---|---|
committer | Kirill Bobyrev <kbobyrev.opensource@gmail.com> | 2018-09-25 11:54:51 +0000 |
commit | 6c2f5bd0f1b13cc24f85c3c8da8e3667644e485e (patch) | |
tree | 55824f74661505bd0c4daac8717558e585f1214a /lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py | |
parent | a9d41f94b9a3db4c07ee6d8a950bba1893742c61 (diff) | |
download | bcm5719-llvm-6c2f5bd0f1b13cc24f85c3c8da8e3667644e485e.tar.gz bcm5719-llvm-6c2f5bd0f1b13cc24f85c3c8da8e3667644e485e.zip |
[clangd] Implement VByte PostingList compression
This patch implements Variable-length Byte compression of `PostingList`s
to sacrifice some performance for lower memory consumption.
`PostingList` compression and decompression was extensively tested using
fuzzer for multiple hours and runnning significant number of realistic
`FuzzyFindRequests`. AddressSanitizer and UndefinedBehaviorSanitizer
were used to ensure the correct behaviour.
Performance evaluation was conducted with recent LLVM symbol index (292k
symbols) and the collection of user-recorded queries (7751
`FuzzyFindRequest` JSON dumps):
| Metrics | Before| After | Change (%)
| ----- | ----- | ----- | -----
| Memory consumption (posting lists only), MB | 54.4 | 23.5 | -60%
| Time to process queries, sec | 7.70 | 9.4 | +25%
Reviewers: sammccall, ioeric
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D52300
llvm-svn: 342965
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py')
0 files changed, 0 insertions, 0 deletions