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)
The 32-bit iOS simulator exhibits the same behavior.