Skip to content

legion_prof_rs: Change Timestamp representation to save memory.

Elliott Slaughter requested to merge legion-prof-rs-memory-usage into master

This change reduces memory usage of legion_prof_rs on large profiles by about 17%.

Timestamp is now stored as a NonMaxU64. This is a special "niche-optimized" version of u64 which can never old a value of std::u64::MAX. As a result, Option<Timestamp> is now 8 bytes instead of 16 bytes.

Because we changed the internal representation, I also took this opportunity to protect the guts of Timestamp so future changes are less invasive.

Edited by Elliott Slaughter

Merge request reports