I've just noticed that a simple for (key in someMapping.keys()) ... generates over 2 kb of code.
The reason being that Mapping's getCondensed is declared as inline.
I've looked at List and it uses inline sparingly (even there, exists and count can be considered for un-inlining).
However in Mapping, basically every function is inlined, getCondensed seeming to me the most egregious abuse of inline.
Was there any benchmarking or real-world code profiling done on these data structures, to determine what deserves to be inlined, and what doesn't? If not, I propose to remove inline from everything over 1-3 lines of code.
I've just noticed that a simple
for (key in someMapping.keys()) ...generates over 2 kb of code.The reason being that Mapping's
getCondensedis declared asinline.I've looked at
Listand it uses inline sparingly (even there,existsandcountcan be considered for un-inlining).However in
Mapping, basically every function is inlined,getCondensedseeming to me the most egregious abuse ofinline.Was there any benchmarking or real-world code profiling done on these data structures, to determine what deserves to be inlined, and what doesn't? If not, I propose to remove
inlinefrom everything over 1-3 lines of code.