-
Notifications
You must be signed in to change notification settings - Fork 344
[Index] Add option to compress unit and record files #10977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Conversation
@swift-ci Please test llvm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Have you run any benchmarks on the reading side?
@@ -0,0 +1,8 @@ | |||
// RUN: rm -rf %t.idx | |||
// RUN: %clang_cc1 %s -index-store-path %t.idx -index-store-compress-records |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume you switched to compressing both at some point?
Reading all unit and record files of a reasonably sized mixed Swift + C test project increased by ~25% (189ms vs. 152ms). I would argue that the 60-70% size savings (12MB vs. 40MB / 16.6MB on disk vs. 44.4MB on disk) are worth that performance regression in the millisecond range. |
17fcd27
to
4465df2
Compare
@swift-ci Please test llvm |
This option reduces the size of the index in a mixed clang + Swift project I have tested by about 70% while increasing the indexing overhead by about 10-15% overhead (from 1.07% to ~1.2%).
4465df2
to
626ae63
Compare
@swift-ci Please test llvm |
This option reduces the size of the index in a mixed clang + Swift project I have tested by about 70% while increasing the indexing overhead by about 10-15% overhead (from 1.07% to ~1.2%).