(In reply to Jiri Slaby from comment #20) > | | | ->24.01% (954,816,480B) 0x489B4AB: UnknownInlinedFun (dwarf_loader.c:959) So given this struct class_member is the largest consumer, running pahole on pahole. The below results in 4.102 GB -> 3.585 GB savings. --- a/dwarves.h +++ b/dwarves.h @@ -487,14 +487,14 @@ int cu__for_all_tags(struct cu *cu, */ struct tag { struct list_head node; + const char *attribute; + void *priv; type_id_t type; uint16_t tag; + uint16_t recursivity_level; bool visited; bool top_level; bool has_btf_type_tag; - uint16_t recursivity_level; - const char *attribute; - void *priv; }; // To use with things like type->type_enum == perf_event_type+perf_user_event_type @@ -1086,17 +1086,17 @@ static inline int function__inlined(const struct function *func) struct class_member { struct tag tag; const char *name; + uint64_t const_value; uint32_t bit_offset; uint32_t bit_size; uint32_t byte_offset; int hole; size_t byte_size; + uint32_t alignment; int8_t bitfield_offset; uint8_t bitfield_size; uint8_t bit_hole; uint8_t bitfield_end:1; - uint64_t const_value; - uint32_t alignment; uint8_t visited:1; uint8_t is_static:1; uint8_t has_bit_offset:1;