[PATCH] D42516: [llvm-objcopy] Add support for large indexes

Jake Ehrlich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 18:15:04 PST 2018


jakehehrlich added a comment.

I spent some time today figuring out how to a) improve the time it takes the test to run and b) make the uploaded binary as small as possible. I'm uploading a binary so that not every test has to regenerate the same file (which dominates the running time of generating this file).  I tried to make this binary as small and as compressible as possible. I got the compressed archive down to 147 kb which I think is acceptable. On my machine the total running time of decompressing, running llvm-objcopy, and then checking the data, is about 1.6 seconds which is acceptably fast in my opinion. This problem was much more solvable than when I implemented 64-bit symbol offsets for archives.

For some details on the file:

1. it has 65541 sections, 65537 symbols
2. every symbol is named "x" but is technically a unique section. Each symbol is defined in a different section
3. every symbol is named "x" but is technically a unique section.

The uncompressed binary is about 6 MB which is about a 98% compression ratio. I can make the whole thing a bit smaller if I only use a small number of symbols though.


Repository:
  rL LLVM

https://reviews.llvm.org/D42516





More information about the llvm-commits mailing list