Percentage of allocs less than 48 bytes: 90.6 All allocations # A tibble: 22 × 4 obj_len n n_less_than percent 1 9 3042 3042 2.69 2 10 73 3115 2.75 3 12 9 3124 2.76 4 13 1 3125 2.76 5 16 7835 10960 9.68 6 18 17141 28101 24.8 7 19 807 28908 25.5 8 20 1505 30413 26.9 9 21 715 31128 27.5 10 22 519 31647 28.0 11 23 581 32228 28.5 12 24 30593 62821 55.5 13 25 2569 65390 57.8 14 26 1712 67102 59.3 15 27 184 67286 59.5 16 28 158 67444 59.6 17 29 157 67601 59.7 18 30 122 67723 59.8 19 31 105 67828 59.9 20 32 6963 74791 66.1 21 33 341 75132 66.4 22 34 81 75213 66.5 # A tibble: 5 × 4 obj_len n n_less_than percent 1 1024 6 113164 100. 2 1032 5 113169 100. 3 1041 1 113170 100. 4 4096 2 113172 100. 5 4113 2 113174 100 Common Sizes # A tibble: 8 × 2 obj_len n 1 24 30593 2 48 22205 3 18 17141 4 16 7835 5 32 6963 6 40 4330 7 64 3617 8 9 3042 113,174 total allocations, total bytes = 4,068,550 Typed allocations # A tibble: 20 × 3 func_name n percent 1 List* Alloc>() 6536 11.9 2 runtime_asdl::Piece* Alloc* Alloc… 2738 5.00 6 Tuple2* Alloc* Alloc… 1647 3.01 9 runtime_asdl::Piece* Alloc*>* Alloc… 1359 2.48 11 runtime_asdl::Piece* Alloc* Alloc>() 1081 1.98 13 runtime_asdl::VarSubState* Alloc* Alloc>() 956 1.75 15 Dict* Alloc* Alloc(BigStr*&&) 901 1.65 18 value_asdl::value__Int* Alloc(in… 901 1.65 19 value_asdl::value__Str* Alloc 1 value_asdl::value__BuiltinProc* Alloc 48.35% of allocs are typed Str - NewStr() and OverAllocatedStr() # A tibble: 16 × 4 str_len n n_less_than percent 1 0 275 275 0.954 2 1 17141 17416 60.4 3 2 807 18223 63.2 4 3 1432 19655 68.1 5 4 715 20370 70.6 6 5 519 20889 72.4 7 6 581 21470 74.4 8 7 494 21964 76.2 9 8 2569 24533 85.1 10 9 1712 26245 91.0 11 10 184 26429 91.6 12 11 151 26580 92.2 13 12 157 26737 92.7 14 13 122 26859 93.1 15 14 105 26964 93.5 16 15 77 27041 93.8 # A tibble: 5 × 4 str_len n n_less_than percent 1 160 1 28836 100. 2 202 1 28837 100. 3 255 1 28838 100. 4 1024 1 28839 100. 5 4096 2 28841 100 28,841 string allocations, total length = 149,639, total bytes = 639,936 25.48% of allocs are strings 15.73% of bytes are strings NewSlab() Lengths # A tibble: 6 × 4 slab_len n n_less_than percent 1 5 17239 17239 57.7 2 7 3241 20480 68.5 3 8 1618 22098 73.9 4 10 1157 23255 77.8 5 14 349 23604 79.0 6 15 2552 26156 87.5 # A tibble: 5 × 4 slab_len n n_less_than percent 1 127 9 29838 99.8 2 128 37 29875 100. 3 254 1 29876 100. 4 256 5 29881 100. 5 1022 2 29883 100 Slab Types # A tibble: 6 × 2 func_name n 1 Slab* NewSlab(int) 9883 2 Slab* NewSlab(int) 5838 3 Slab* NewSlab… 4129 4 Slab* NewSlab(int) 2447 5 Slab* NewSlab(i… 1778 6 Slab* NewSlab(int) 956 # A tibble: 5 × 2 func_name n 1 Slab* NewSlab… 1 2 Slab* NewSlab(i… 1 3 Slab* NewSlab(int) 1 4 Slab* NewSlab(int) 1 5 Slab* NewSlab(int) 1 29,883 slabs, total items = 307,918 26.40% of allocs are slabs ::reserve(int n) Num Items # A tibble: 15 × 4 num_items n n_less_than percent 1 0 5 5 0.00747 2 1 19147 19152 28.6 3 2 7219 26371 39.4 4 3 5734 32105 47.9 5 4 3392 35497 53.0 6 5 3313 38810 57.9 7 6 3536 42346 63.2 8 7 2642 44988 67.2 9 8 3246 48234 72.0 10 9 1860 50094 74.8 11 10 2028 52122 77.8 12 11 1011 53133 79.3 13 12 857 53990 80.6 14 13 829 54819 81.9 15 14 740 55559 83.0 # A tibble: 5 × 4 num_items n n_less_than percent 1 77 15 66960 100. 2 78 8 66968 100. 3 117 2 66970 100. 4 180 1 66971 100. 5 1022 2 66973 100 66,973 reserve() calls, total items = 622,250 Untyped: 113,174 Typed + Str + Slab: 113,449