Percentage of allocs less than 48 bytes: 90.8 All allocations # A tibble: 22 × 4 obj_len n n_less_than percent 1 9 2738 2738 2.49 2 10 73 2811 2.56 3 11 1002 3813 3.47 4 12 9 3822 3.48 5 13 1 3823 3.48 6 16 7865 11688 10.6 7 18 16227 27915 25.4 8 19 807 28722 26.2 9 20 1502 30224 27.5 10 21 711 30935 28.2 11 22 519 31454 28.6 12 23 580 32034 29.2 13 24 30123 62157 56.6 14 25 2568 64725 58.9 15 26 1709 66434 60.5 16 27 184 66618 60.7 17 28 159 66777 60.8 18 29 157 66934 61.0 19 30 122 67056 61.1 20 31 104 67160 61.2 21 32 5307 72467 66.0 22 33 341 72808 66.3 # A tibble: 5 × 4 obj_len n n_less_than percent 1 1024 8 109795 100. 2 1032 6 109801 100. 3 1041 1 109802 100. 4 4096 2 109804 100. 5 4113 2 109806 100 Common Sizes # A tibble: 8 × 2 obj_len n 1 24 30123 2 48 21888 3 18 16227 4 16 7865 5 32 5307 6 40 4239 7 64 3418 8 9 2738 109,806 total allocations, total bytes = 3,917,741 Typed allocations # A tibble: 20 × 3 func_name n percent 1 List* Alloc>() 6457 12.1 2 runtime_asdl::Piece* Alloc* Alloc* Alloc… 2434 4.57 7 runtime_asdl::Piece* Alloc* Alloc… 1647 3.10 10 List* Alloc>() 1080 2.03 11 runtime_asdl::VarSubState* Alloc* Alloc>() 956 1.80 13 runtime_asdl::Piece* Alloc* Alloc* Alloc*>* Alloc… 906 1.70 17 args::SetToInt* Alloc(BigStr*&&) 901 1.69 18 value_asdl::value__Int* Alloc(in… 901 1.69 19 value_asdl::value__Str* Alloc 1 value_asdl::value__List* Alloc 48.46% of allocs are typed Str - NewStr() and OverAllocatedStr() # A tibble: 16 × 4 str_len n n_less_than percent 1 0 275 275 0.985 2 1 16227 16502 59.1 3 2 807 17309 62.0 4 3 1429 18738 67.1 5 4 711 19449 69.7 6 5 519 19968 71.5 7 6 580 20548 73.6 8 7 493 21041 75.4 9 8 2568 23609 84.6 10 9 1709 25318 90.7 11 10 184 25502 91.4 12 11 152 25654 91.9 13 12 157 25811 92.5 14 13 122 25933 92.9 15 14 104 26037 93.3 16 15 77 26114 93.5 # A tibble: 5 × 4 str_len n n_less_than percent 1 160 1 27911 100. 2 202 1 27912 100. 3 255 1 27913 100. 4 1024 1 27914 100. 5 4096 2 27916 100 27,916 string allocations, total length = 148,717, total bytes = 623,289 25.42% of allocs are strings 15.91% of bytes are strings NewSlab() Lengths # A tibble: 6 × 4 slab_len n n_less_than percent 1 5 16955 16955 58.6 2 7 3043 19998 69.1 3 8 1530 21528 74.3 4 10 1156 22684 78.3 5 14 349 23033 79.5 6 15 2271 25304 87.4 # A tibble: 5 × 4 slab_len n n_less_than percent 1 127 11 28910 99.8 2 128 36 28946 100. 3 254 1 28947 100. 4 256 6 28953 100. 5 1022 2 28955 100 Slab Types # A tibble: 6 × 2 func_name n 1 Slab* NewSlab(int) 9422 2 Slab* NewSlab(int) 5675 3 Slab* NewSlab… 4129 4 Slab* NewSlab(int) 2430 5 Slab* NewSlab(i… 1930 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 28,955 slabs, total items = 298,713 26.37% 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.00764 2 1 18676 18681 28.5 3 2 7001 25682 39.2 4 3 5798 31480 48.1 5 4 3314 34794 53.2 6 5 3320 38114 58.2 7 6 3352 41466 63.4 8 7 2515 43981 67.2 9 8 2984 46965 71.8 10 9 1647 48612 74.3 11 10 1998 50610 77.3 12 11 1002 51612 78.9 13 12 857 52469 80.2 14 13 829 53298 81.4 15 14 740 54038 82.6 # A tibble: 5 × 4 num_items n n_less_than percent 1 77 15 65438 100. 2 78 8 65446 100. 3 108 2 65448 100. 4 179 1 65449 100. 5 1022 2 65451 100 65,451 reserve() calls, total items = 614,850 Untyped: 109,806 Typed + Str + Slab: 110,081