Skip to content

Instantly share code, notes, and snippets.

@milseman
Created October 23, 2018 14:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save milseman/ec0096c8763dd01b40ea83c4747612a6 to your computer and use it in GitHub Desktop.
Save milseman/ec0096c8763dd01b40ea83c4747612a6 to your computer and use it in GitHub Desktop.
Malloc size experiment
var i = 0
while i <= 0x4_0000 { 
  let size = malloc_size(malloc(i+1)) 
  print(" \(i+1) => \(size) (\(size - i))") 
  i = size 
}

64-bit MacOS:

1 => 16 (16)
 17 => 32 (16)
 33 => 48 (16)
 49 => 64 (16)
 65 => 80 (16)
 81 => 96 (16)
 97 => 112 (16)
 113 => 128 (16)
 129 => 144 (16)
 145 => 160 (16)
 161 => 176 (16)
 177 => 192 (16)
 193 => 208 (16)
 209 => 224 (16)
 225 => 240 (16)
 241 => 256 (16)
 257 => 272 (16)
 273 => 288 (16)
 289 => 304 (16)
 305 => 320 (16)
 321 => 336 (16)
 337 => 352 (16)
 353 => 368 (16)
 369 => 384 (16)
 385 => 400 (16)
 401 => 416 (16)
 417 => 432 (16)
 433 => 448 (16)
 449 => 464 (16)
 465 => 480 (16)
 481 => 496 (16)
 497 => 512 (16)
 513 => 528 (16)
 529 => 544 (16)
 545 => 560 (16)
 561 => 576 (16)
 577 => 592 (16)
 593 => 608 (16)
 609 => 624 (16)
 625 => 640 (16)
 641 => 656 (16)
 657 => 672 (16)
 673 => 688 (16)
 689 => 704 (16)
 705 => 720 (16)
 721 => 736 (16)
 737 => 752 (16)
 753 => 768 (16)
 769 => 784 (16)
 785 => 800 (16)
 801 => 816 (16)
 817 => 832 (16)
 833 => 848 (16)
 849 => 864 (16)
 865 => 880 (16)
 881 => 896 (16)
 897 => 912 (16)
 913 => 928 (16)
 929 => 944 (16)
 945 => 960 (16)
 961 => 976 (16)
 977 => 992 (16)
 993 => 1008 (16)
 1009 => 1024 (16)
 1025 => 1536 (512)
 1537 => 2048 (512)
 2049 => 2560 (512)
 2561 => 3072 (512)
 3073 => 3584 (512)
 3585 => 4096 (512)
 4097 => 4608 (512)
 4609 => 5120 (512)
 5121 => 5632 (512)
 5633 => 6144 (512)
 6145 => 6656 (512)
 6657 => 7168 (512)
 7169 => 7680 (512)
 7681 => 8192 (512)
 8193 => 8704 (512)
 8705 => 9216 (512)
 9217 => 9728 (512)
 9729 => 10240 (512)
 10241 => 10752 (512)
 10753 => 11264 (512)
 11265 => 11776 (512)
 11777 => 12288 (512)
 12289 => 12800 (512)
 12801 => 13312 (512)
 13313 => 13824 (512)
 13825 => 14336 (512)
 14337 => 14848 (512)
 14849 => 15360 (512)
 15361 => 15872 (512)
 15873 => 16384 (512)
 16385 => 16896 (512)
 16897 => 17408 (512)
 17409 => 17920 (512)
 17921 => 18432 (512)
 18433 => 18944 (512)
 18945 => 19456 (512)
 19457 => 19968 (512)
 19969 => 20480 (512)
 20481 => 20992 (512)
 20993 => 21504 (512)
 21505 => 22016 (512)
 22017 => 22528 (512)
 22529 => 23040 (512)
 23041 => 23552 (512)
 23553 => 24064 (512)
 24065 => 24576 (512)
 24577 => 25088 (512)
 25089 => 25600 (512)
 25601 => 26112 (512)
 26113 => 26624 (512)
 26625 => 27136 (512)
 27137 => 27648 (512)
 27649 => 28160 (512)
 28161 => 28672 (512)
 28673 => 29184 (512)
 29185 => 29696 (512)
 29697 => 30208 (512)
 30209 => 30720 (512)
 30721 => 31232 (512)
 31233 => 31744 (512)
 31745 => 32256 (512)
 32257 => 32768 (512)
 32769 => 33280 (512)
 33281 => 33792 (512)
 33793 => 34304 (512)
 34305 => 34816 (512)
 34817 => 35328 (512)
 35329 => 35840 (512)
 35841 => 36352 (512)
 36353 => 36864 (512)
 36865 => 37376 (512)
 37377 => 37888 (512)
 37889 => 38400 (512)
 38401 => 38912 (512)
 38913 => 39424 (512)
 39425 => 39936 (512)
 39937 => 40448 (512)
 40449 => 40960 (512)
 40961 => 41472 (512)
 41473 => 41984 (512)
 41985 => 42496 (512)
 42497 => 43008 (512)
 43009 => 43520 (512)
 43521 => 44032 (512)
 44033 => 44544 (512)
 44545 => 45056 (512)
 45057 => 45568 (512)
 45569 => 46080 (512)
 46081 => 46592 (512)
 46593 => 47104 (512)
 47105 => 47616 (512)
 47617 => 48128 (512)
 48129 => 48640 (512)
 48641 => 49152 (512)
 49153 => 49664 (512)
 49665 => 50176 (512)
 50177 => 50688 (512)
 50689 => 51200 (512)
 51201 => 51712 (512)
 51713 => 52224 (512)
 52225 => 52736 (512)
 52737 => 53248 (512)
 53249 => 53760 (512)
 53761 => 54272 (512)
 54273 => 54784 (512)
 54785 => 55296 (512)
 55297 => 55808 (512)
 55809 => 56320 (512)
 56321 => 56832 (512)
 56833 => 57344 (512)
 57345 => 57856 (512)
 57857 => 58368 (512)
 58369 => 58880 (512)
 58881 => 59392 (512)
 59393 => 59904 (512)
 59905 => 60416 (512)
 60417 => 60928 (512)
 60929 => 61440 (512)
 61441 => 61952 (512)
 61953 => 62464 (512)
 62465 => 62976 (512)
 62977 => 63488 (512)
 63489 => 64000 (512)
 64001 => 64512 (512)
 64513 => 65024 (512)
 65025 => 65536 (512)
 65537 => 66048 (512)
 66049 => 66560 (512)
 66561 => 67072 (512)
 67073 => 67584 (512)
 67585 => 68096 (512)
 68097 => 68608 (512)
 68609 => 69120 (512)
 69121 => 69632 (512)
 69633 => 70144 (512)
 70145 => 70656 (512)
 70657 => 71168 (512)
 71169 => 71680 (512)
 71681 => 72192 (512)
 72193 => 72704 (512)
 72705 => 73216 (512)
 73217 => 73728 (512)
 73729 => 74240 (512)
 74241 => 74752 (512)
 74753 => 75264 (512)
 75265 => 75776 (512)
 75777 => 76288 (512)
 76289 => 76800 (512)
 76801 => 77312 (512)
 77313 => 77824 (512)
 77825 => 78336 (512)
 78337 => 78848 (512)
 78849 => 79360 (512)
 79361 => 79872 (512)
 79873 => 80384 (512)
 80385 => 80896 (512)
 80897 => 81408 (512)
 81409 => 81920 (512)
 81921 => 82432 (512)
 82433 => 82944 (512)
 82945 => 83456 (512)
 83457 => 83968 (512)
 83969 => 84480 (512)
 84481 => 84992 (512)
 84993 => 85504 (512)
 85505 => 86016 (512)
 86017 => 86528 (512)
 86529 => 87040 (512)
 87041 => 87552 (512)
 87553 => 88064 (512)
 88065 => 88576 (512)
 88577 => 89088 (512)
 89089 => 89600 (512)
 89601 => 90112 (512)
 90113 => 90624 (512)
 90625 => 91136 (512)
 91137 => 91648 (512)
 91649 => 92160 (512)
 92161 => 92672 (512)
 92673 => 93184 (512)
 93185 => 93696 (512)
 93697 => 94208 (512)
 94209 => 94720 (512)
 94721 => 95232 (512)
 95233 => 95744 (512)
 95745 => 96256 (512)
 96257 => 96768 (512)
 96769 => 97280 (512)
 97281 => 97792 (512)
 97793 => 98304 (512)
 98305 => 98816 (512)
 98817 => 99328 (512)
 99329 => 99840 (512)
 99841 => 100352 (512)
 100353 => 100864 (512)
 100865 => 101376 (512)
 101377 => 101888 (512)
 101889 => 102400 (512)
 102401 => 102912 (512)
 102913 => 103424 (512)
 103425 => 103936 (512)
 103937 => 104448 (512)
 104449 => 104960 (512)
 104961 => 105472 (512)
 105473 => 105984 (512)
 105985 => 106496 (512)
 106497 => 107008 (512)
 107009 => 107520 (512)
 107521 => 108032 (512)
 108033 => 108544 (512)
 108545 => 109056 (512)
 109057 => 109568 (512)
 109569 => 110080 (512)
 110081 => 110592 (512)
 110593 => 111104 (512)
 111105 => 111616 (512)
 111617 => 112128 (512)
 112129 => 112640 (512)
 112641 => 113152 (512)
 113153 => 113664 (512)
 113665 => 114176 (512)
 114177 => 114688 (512)
 114689 => 115200 (512)
 115201 => 115712 (512)
 115713 => 116224 (512)
 116225 => 116736 (512)
 116737 => 117248 (512)
 117249 => 117760 (512)
 117761 => 118272 (512)
 118273 => 118784 (512)
 118785 => 119296 (512)
 119297 => 119808 (512)
 119809 => 120320 (512)
 120321 => 120832 (512)
 120833 => 121344 (512)
 121345 => 121856 (512)
 121857 => 122368 (512)
 122369 => 122880 (512)
 122881 => 123392 (512)
 123393 => 123904 (512)
 123905 => 124416 (512)
 124417 => 124928 (512)
 124929 => 125440 (512)
 125441 => 125952 (512)
 125953 => 126464 (512)
 126465 => 126976 (512)
 126977 => 127488 (512)
 127489 => 128000 (512)
 128001 => 128512 (512)
 128513 => 129024 (512)
 129025 => 129536 (512)
 129537 => 130048 (512)
 130049 => 131072 (1024)
 131073 => 135168 (4096)
 135169 => 139264 (4096)
 139265 => 143360 (4096)
 143361 => 147456 (4096)
 147457 => 151552 (4096)
 151553 => 155648 (4096)
 155649 => 159744 (4096)
 159745 => 163840 (4096)
 163841 => 167936 (4096)
 167937 => 172032 (4096)
 172033 => 176128 (4096)
 176129 => 180224 (4096)
 180225 => 184320 (4096)
 184321 => 188416 (4096)
 188417 => 192512 (4096)
 192513 => 196608 (4096)
 196609 => 200704 (4096)
 200705 => 204800 (4096)
 204801 => 208896 (4096)
 208897 => 212992 (4096)
 212993 => 217088 (4096)
 217089 => 221184 (4096)
 221185 => 225280 (4096)
 225281 => 229376 (4096)
 229377 => 233472 (4096)
 233473 => 237568 (4096)
 237569 => 241664 (4096)
 241665 => 245760 (4096)
 245761 => 249856 (4096)
 249857 => 253952 (4096)
 253953 => 258048 (4096)
 258049 => 262144 (4096)
 262145 => 266240 (4096)

@lorentey
Copy link

The 32-bit iOS simulator exhibits the same behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment