Skip to content

IfaceAppArgs has inefficient Binary instance

Problem 1: Binary IfaceAppArgs has it's own Binary instance which is different to [a] instance. It directly writes the linked list to the interface file rather than writing the length of the list followed by the whole list continuously.

In some interface files this leads to 36% of the interface being taken up by these tag bits.

Problem 2: The ForAllTyFlag is serialised to interface files but is not used in tcIfaceType.

In some interface files these additional bytes make up 19% of the entire interface file.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information