[PATCH] D16277: Bitcode: use blob for string storage in the IR: trade a bit of space for faster reading

Mehdi AMINI via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 17 13:55:22 PST 2016


joker.eph created this revision.
joker.eph added reviewers: tejohnson, dexonsmith, rafael.
joker.eph added a subscriber: llvm-commits.

The bitcode store string in a compressed fashion. This is nice for space, but
it is expensive to encode/decode. I experimented using the "blob" type in the
bitcode, and obtained non-negligible speedup.
The following patch provides 10% speedup on the execution of getLazyIRModule()
when linking "opt" with ThinLTO. The on-disk size is also increased by ~10%.

I left it under a flag in the writer for experiment purpose, but I'm seeking
opinion on the subject.

http://reviews.llvm.org/D16277

Files:
  include/llvm/Support/StreamingMemoryObject.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  test/Bitcode/invalid.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16277.45122.patch
Type: text/x-patch
Size: 12899 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160117/56a0fb22/attachment.bin>


More information about the llvm-commits mailing list