-
Notifications
You must be signed in to change notification settings - Fork 550
Open
Description
If we want to reduce the binary size/compilation time, then I could think of two ideas:
First, split the target and TargetInfo into two arrays, this would help simplify the array, and might make binary search faster as more target can be in the cache.
For TargetInfo, we can store the string inline.
We can internalise the string into a one big &str and refer to it via index, we can simply use a u16 for base pointer.
The simplest impl is to use HashSet in gen-target-info to dedup them, and then concat them into one giant string, each terminated by \0 and assign them each a u16 based on the length within the giant string.
That will compress 16B &'static str on 64-bit platform to 2B, and should improve compile-time as well.
Though it looks like something out of scope for this ticket.
Originally posted by @NobodyXu in #1266 (comment)
Metadata
Metadata
Assignees
Labels
No labels