Currently libkafel.so takes 440KiB (x86_64, release, stripped) which seems superfluous.
On top of that, it has 7122 relocations and relocation definitions themselves take 167KiB. This has runtime cost as well.
Proposal:
-
exploit redundancy in the data set to reduce the footprint;
-
get rid of relocations — instead of storing string pointers in tables use integral offsets in a string pool. The later is cumbersome to do manually, use code generation.
Currently
libkafel.sotakes 440KiB (x86_64, release, stripped) which seems superfluous.On top of that, it has 7122 relocations and relocation definitions themselves take 167KiB. This has runtime cost as well.
Proposal:
exploit redundancy in the data set to reduce the footprint;
get rid of relocations — instead of storing string pointers in tables use integral offsets in a string pool. The later is cumbersome to do manually, use code generation.