All,
Last night I removed compaction tables from the bytecode format
(documentation change forthcoming). This was done for a few reasons.
First, its very expensive in CPU time to process compaction tables for
both reading and writing. Second, the maximum benefit we gained was
about 7% (600K a 9Mb bytecode). In most cases its in the 1% range or
actually makes the bytecode larger. Finally, as we prepare for the
bitcode format, it helps us to simplify the existing bytecode format and
the bcreader/bcwriter code. Compaction tables were a significant
complexity in that code.
Reid.