[LLVMdev] Which is more compact, .bc or .ll.gz? And what might be even more compact?

Edmund Grimley-Evans Edmund.Grimley-Evans at arm.com
Tue Dec 14 02:55:09 PST 2010


According to the few tests I did, .ll.gz is more compact:

1.00  LLVM bitcode (.bc)
0.80  Gzipped LLVM bitcode (.bc.gz)
4.13  LLVM assembly (.ll)
0.68  Gzipped LLVM assembly (.ll.gz)

However, there's not much in it, considering that a stripped native binary is about 0.40 on the same scale.

So, seeing as projects such as PNaCl want to send LLVM bitcode over the network, are there any proposed solutions for making LLVM bitcode more compact?

Removing or simplifying the names of local variables would be an obvious thing to do. Is there anything else that could be done without changing the bitcode format? (There's an obvious analogy with JavaScript compression techniques.) Does anyone have any idea how much it would help?

Edmund
-- 
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.




More information about the llvm-dev mailing list