Yanyg - Software Engineer

Adaptive Trie Tree

目录

最近看了一篇论文<The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases>, 下载链接在这里:https://db.in.tum.de/~leis/papers/ART.pdf

Radix-Tree实际是Trie数据结构(数据检索)。树的高度由Key(也叫做Index)的长度和每层的位宽决定。例如对于 Key=32Bits, LayerBits=4 ,树的最大高度是8。对于 Key=32Bits, LayerBits=6 ,树的最大高度是6。

Trie树分为内部节点(inner node)和叶子节点(leaf node)。内部节点保存下一级内部节点的地址,而叶子节点保存实际对象(或者对象指针)。

1 Optimize

Adaptive包括三个优化:

  • 内部节点的自动伸缩

默认Trie树每个内部节点都有 \(2^{Layerbits}\) 个元素。自动伸缩的分配方式是指不按照每层的位宽分配,而是实现一个自动调整大小的内部节点。如果内部节点的使用率较低,这种策略能节省大量内存。对于比较长的Key(例如16字节的UUID),大部分内部节点的使用率都很低。假定保存60亿个元素,裸的Key需要占用内存90GB 左右,这在当前系统上已经是很可观的了(现有计算机系统内存128GB~256GB是比较常见的)。60亿元素只需要33个位宽就可以构建唯一编址,相对于16字节(128位)的 Key,这个数据太小,因此内部节点使用率相当低。

  • 内部节点折叠;

当Key的前缀(prefix)可以唯一描述Key时(没有相同的Prefix),则不用继续伸展,而是在内部节点的对应位置标记Leaf,同时保存完整的Key。当后续有相同前缀的另一个Key插入时,检测到Leaf标记,则从这里拿到已经保存的KeyExist,与要插入的Key对比。如果两者相等则结束,否则扩展层级,直到两者的前缀不等,分别保存两个Key。我使用 KeyLen=16Byte, LayerBits=4 ,使用 /dev/urandom 作为随机源,插入3亿元素时树的高度为12或13(更大量的数据我的内存不足无法测试了)。

  • 路径压缩

如果一个内部节点只有一个子节点,则可以移除这个内部节点。例如下面这个图示,可以移除内部节点A。

A              B              C
| |            | |     |----->|0| Leaf0
|1|-----|      | |            | |
| |     |      | |     |----->|2| Leaf1
| |     |----->|3|-----|      | |

论文测试数据证明每个节点平均耗费8.1字节空间。这个非常高效了。我目前版本只做了优化2内部节点折叠,Key是16字节UUID,每层4位,测试结果是每个节点耗费22字节。

2 Test Data

16字节Key,每层4位,32层。

2.1 Traditional

Item(x1M) Memory(GB) Bytes/Key
1 1.891 1936.384
2 3.744 1916.928
3 5.583 1905.664
4 7.414 1897.984
5 9.240 1892.352
6 11.062 1887.915
7 12.881 1884.306

InternalNode结构体68字节,IDMem映射增加4个字节,因此每个InternalNode 占用72字节。Key结构体16字节,映射增加4字节,因此每个LeafNode占用20字节。

考虑每层4位,因此第5层的InternalNode数目是 \(2^20\) ,等于1M。 1M(1024*1024) Key插入时,假定Key完全平均分布,InternalNode前5层是满的,后续的InternalNode预期每个Node只包含一个Key。因此每个Key使用的InternalNode 在26(31-5)以上,但不足27个。实际统计结果是26.616个。因此: \(Bytes/Item < 72*26.616 + 20 = 1936.38\)

符合预期。

2.2 Collapsing

Item(x16M) Memory(GB) Bytes/Key
1 0.6584 42.138
2 1.3819 44.221
3 2.0263 43.228
4 2.6109 41.774
5 3.1777 40.675
6 3.7530 40.032
7 4.3483 39.756
8 4.9673 39.738
9 5.6088 39.885
10 6.2714 40.137
11 6.9523 40.450
12 7.6479 40.789
13 8.3564 41.139
14 9.0747 41.484
15 9.8009 41.817
16 10.5332 42.133
17 11.2696 42.427
18 12.0087 42.698
19 12.7489 42.944

计算16M Key情况。每个Key占用的InternalNode平均是: \((41.139 - 20)/72=0.2797\)

平均每个Key使用的InternalNode对应字节数为21.139。(21.1 - 11.6 = 9.5)

假定Key完全平均分布,在Collapsing下,16M Key将占满全部6层,InternalNode数为 \(1 + 16 + 256 + 4096 + 65546 + 1048576 = 1118481\)

平均每个Key使用的InternalNode数量为 \(1118481/1024/1024/16 = 0.0667\)

平均每个Key使用的InternalNode对应字节数为 \(0.0667*72=4.8\)

还有很大的优化空间。

进一步分析测试数据:

  • 做一个sata1~4的优化;
  • 做一个Compressible优化;
item internal_nodes unused_slots full_layer max_layer sat1 sat1~4 sat5~8 sat9~15 Compressible  
1048576 381011 4666590 4 9 70229 1509317 88320 314610 70205  
2097152 822129 10234784 4 9 122963 3454113 168447 355112 122897  
3145728 1189284 14693533 4 10 175502 5639705 773027 258765 175500  
4194304 1500673 18315792 4 10 198383 6377939 1672468 137351 198379  
5242880 1796108 21698741 4 10 237364 6834166 2669663 123425 237350  
6291456 2098152 25180825 4 10 293261 7350781 3527929 228686 293237  
7340032 2420354 28965279 4 11 435697 9716279 4785365 537568 435695  
8388608 2763644 33066053 4 11 527822 11030424 5075948 958780 527820  
9437184 3129988 37512637 4 11 629636 12692990 5013291 1518230 629634  
10485760 3514453 42231036 4 11 733468 14624729 4687088 2176596 733466  
11534336 3917153 47222960 4 11 837467 16775685 4195764 2885686 837465  
12582912 4332364 52402549 4 11 943769 19070145 3626093 3600205 943763  
13631488 4759621 57762828 4 11 1046781 21479017 3043796 4281156 1046773  
14680064 5196004 63259997 4 11 1147961 23963535 2500662 4897361 1147953  
15728640 5639418 68862631 4 11 1245936 26495375 2033559 5428016 1245926  
16777216 6089414 74563995 5 11 1342601 29063470 1653851 5868525 1342591  
17825792 6543111 80320874 5 11 1436102 31645050 1361129 6225329 1436090  
18874368 6998618 86104903 5 11 1526197 34226440 1149107 6506705 1526185  
19922944 7456643 91926702 5 11 1615497 36807254 1014755 6718613 1615481  
20971520 7913324 97728341 5 11 1698781 39361428 947083 6875928 1698761  
22020096 8369454 103521715 5 11 1776228 41894905 935679 6986524 1776206  
23068672 8823396 109282269 5 11 1849716 44393451 977704 7056535 1849688  
24117248 9275373 115013348 5 11 1919646 46857130 1063406 7094774 1919618  
25165824 9723598 120688147 5 11 1985527 49278294 1184834 7107426 1985499  
26214400 10169035 126321126 5 11 2047371 51655287 1343437 7099091 2047337  
27262976 10610004 131887085 5 11 2105161 53982360 1530765 7073072 2105123  
28311552 11046684 137388709 5 11 2161022 56258076 1746231 7029360 2160982  
29360128 11478370 142815423 5 11 2212164 58475791 1991123 6972727 2212120  
30408704 11905390 148172147 5 11 2263644 60637558 2263185 6902563 2263594  
31457280 12326398 153438691 5 12 2714358 73519953 2986935 7794234 2714354  
32505856 12742220 158627445 5 12 2764784 75923129 3362457 7686927 2764780  
33554432 13153163 163743014 5 12 2810664 78255235 3772293 7566012 2810660  
34603008 13557889 168765328 5 12 2856122 80512691 4210430 7434327 2856118  
35651584 13957254 173707227 5 12 2896323 82698372 4679347 7293228 2896319  
36700160 14352196 178582781 5 12 2936896 84817554 5180456 7141054 2936892  
37748736 14742134 183383275 5 12 2975139 86869179 5710381 6979877 2975135  
38797312 15127113 188109384 5 12 3010191 88849181 6273585 6814118 3010187  
39845888 15505925 192742988 5 12 3041285 90751218 6867852 6639966 3041281  
40894464 15879312 197295217 5 12 3071614 92579927 7492921 6459672 3071610  
41943040 16248168 201779481 5 12 3101791 94340286 8150906 6271446 3101787  
42991616 16611747 206184590 5 12 3130494 96034147 8834780 6079896 3130490  
44040192 16970188 210512629 5 12 3157630 97656398 9551310 5887882 3157624  
45088768 17325314 214790943 5 12 3188499 99220877 10297257 5693122 3188493  
46137344 17675126 218989547 5 12 3216609 100720298 11067960 5499493 3216603  
47185920 18021189 223131916 5 12 3241382 102162240 11865660 5305222 3241376  
48234496 18362683 227205750 5 12 3265798 103536719 12694424 5113221 3265790  
49283072 18700813 231229124 5 12 3292418 104853135 13552866 4921620 3292410  
50331648 19035903 235206898 5 12 3319528 106119733 14436833 4733658 3319520  
51380224 19367238 239128347 5 12 3347258 107333549 15342392 4551481 3347250  
52428800 19695176 242998841 5 12 3374173 108494797 16272407 4371032 3374165  
53477376 20019368 246813145 5 12 3401991 109600146 17228158 4197635 3401983  
54525952 20340775 250585674 5 12 3426821 110663499 18201339 4025966 3426809  
55574528 20659525 254318348 5 12 3453206 111678839 19199333 3861141 3453194  
56623104 20974094 257988307 5 12 3478778 112637261 20220885 3704750 3478766  
57671680 21287927 261647226 5 12 3505315 113574810 21254528 3553657 3505303  
58720256 21599979 265279430 5 12 3535726 114471540 22309990 3407437 3535714  
59768832 21908989 268866004 5 12 3563802 115326110 23382913 3266211 3563788  
60817408 22216258 272426463 5 12 3594508 116147113 24471793 3135295 3594494  
61865984 22521801 275961032 5 12 3626730 116939065 25572529 3010949 3626716  
62914560 22825452 279467221 5 12 3660208 117701313 26685424 2893260 3660194  
63963136 23127167 282944370 5 12 3692978 118426011 27816915 2784069 3692964  
65011712 23427774 286404899 5 12 3726603 119128914 28956599 2684811 3726589  
66060288 23727612 289853893 5 12 3761092 119814887 30101226 2592862 3761078  
67108864 24025703 293276682 5 12 3799804 120472914 31255206 2510870 3799790  
68157440 24323429 296693996 5 12 3839574 121115175 32417650 2435687 3839556  
69206016 24619169 300081520 5 12 3878414 121733253 33586045 2366541 3878396  
70254592 24915622 303479739 5 12 3919464 122345535 34758529 2306981 3919446  
71303168 25211097 306863288 5 12 3962431 122938208 35935664 2255833 3962413  
72351744 25506979 310252942 5 12 4005384 123528884 37111734 2213164 4005366  
73400320 25802007 313629786 5 12 4050913 124107180 38288338 2177958 4050893  
74448896 26097409 317012240 5 12 4097944 124680006 39465873 2150682 4097924  
75497472 26391398 320373499 5 12 4144485 125238798 40641739 2133140 4144465  
76546048 26684953 323728248 5 12 4193018 125785271 41821864 2121745 4192998  
77594624 26979294 327094787 5 12 4243183 126339162 42989957 2121189 4243163  
78643200 27273556 330460141 5 12 4294646 126893719 44150339 2127536 4294626  
79691776 27568099 333829710 5 12 4347245 127440501 45312559 2141889 4347225  
80740352 27863043 337205294 5 12 4400617 127994064 46461974 2166214 4400595  
81788928 28158012 340581253 5 12 4455872 128546126 47605441 2200268 4455850  
82837504 28454217 343975752 5 12 4512947 129111406 48737189 2241636 4512925  
83886080 28751315 347383646 5 12 4569556 129683780 49859741 2290767 4569534  
84934656 29047987 350785150 5 12 4627033 130249057 50978215 2349078 4627009  
85983232 29344729 354187704 5 12 4686163 130818985 52084077 2416304 4686139  
87031808 29643393 357619088 5 12 4748597 131411236 53171520 2491393 4748571  
88080384 29941865 361047592 5 12 4812076 132007434 54246839 2575728 4812050  
89128960 30241038 364486611 5 12 4876172 132613544 55308632 2667735 4876146  
90177536 30541187 367940270 5 12 4940206 133234566 56353335 2769932 4940180  
91226112 30842857 371416744 5 12 5007070 133869139 57384916 2879102 5007042  
92274688 31145770 374911863 5 12 5075403 134519159 58400549 2997674 5075375  
93323264 31448540 378404837 5 12 5142744 135178252 59397459 3124495 5142714  
94371840 31752385 381913936 5 12 5212515 135849855 60379049 3260579 5212483  
95420416 32057850 385447335 5 12 5282812 136541756 61341816 3405444 5282780  
96468992 32365208 389009129 5 12 5353824 137259079 62283202 3558509 5353792  
97517568 32672622 392571763 5 12 5424262 137985672 63205787 3721281 5424230  
98566144 32980585 396142632 5 12 5499034 138725959 64109229 3892286 5499000  
99614720 33290631 399744746 5 12 5574986 139493623 64989091 4072317 5574952  
100663296 33601680 403361905 5 12 5652136 140270210 65855836 4263493 5652102  
101711872 33913897 406996584 5 12 5729431 141073804 66692513 4465123 5729397  
102760448 34226256 410633393 5 12 5805158 141888221 67512435 4673382 5805124  
103809024 34541736 414317017 5 12 5884689 142735244 68308507 4890950 5884655  
104857600 34857885 418010676 5 12 5964019 143601802 69080655 5117314 5963983  
105906176 35174764 421715285 5 12 6044243 144480510 69835300 5353358 6044205  
106954752 35492894 425438659 5 12 6125262 145380523 70563592 5602075 6125224  
108003328 35812729 429187608 5 12 6206359 146309994 71265637 5858172 6206321  
109051904 36133276 432947237 5 12 6288273 147253854 71946969 6124033 6288235  
110100480 36456244 436743181 5 12 6372131 148225940 72606955 6398009 6372093  
111149056 36779841 440548560 5 12 6457517 149219514 73238488 6682650 6457479  
112197632 37104978 444377039 5 12 6544053 150236286 73847267 6975873 6544015  
113246208 37431442 448225423 5 12 6629755 151270625 74433827 7281609 6629717  
114294784 37759238 452093787 5 12 6717799 152325287 75001158 7593752 6717761  
115343360 38087999 455976626 5 12 6805176 153409274 75535313 7915679 6805138  
116391936 38418267 459882070 5 12 6891797 154511169 76050908 8247746 6891757  
117440512 38749825 463806864 5 12 6979778 155636084 76539969 8590309 6979736  
118489088 39083549 467764148 5 12 7070242 156786299 77006735 8942580 7070200  
119537664 39418941 471746452 5 12 7161891 157963503 77448546 9302413 7161847  
120586240 39753852 475721541 5 12 7252274 159150787 77868134 9671972 7252226  
121634816 40091959 479744570 5 12 7343189 160375232 78257858 10052704 7343139  
122683392 40431429 483788044 5 12 7434713 161619619 78628670 10440866 7434663  
123731968 40771497 487840488 5 12 7526538 162884182 78971951 10839863 7526488  
124780544 41112962 491913887 5 12 7617973 164167562 79289772 11253322 7617921  
125829120 41456323 496015726 5 12 7712035 165481936 79585306 11669540 7711983  
126877696 41800141 500124420 5 12 7804847 166807209 79863970 12094457 7804793  
127926272 42146157 504266084 5 12 7899812 168161124 80113517 12532508 7899758  
128974848 42492295 508409578 5 12 7994024 169529705 80341266 12978432 7993968  
130023424 42841073 512592672 5 12 8088694 170931091 80541597 13434070 8088638  
131072000 43191249 516796736 5 12 8184768 172349995 80725469 13897269 8184706  
132120576 43541541 521002540 5 12 8278445 173779740 80888816 14370855 8278383  
133169152 43894006 525240939 5 12 8374964 175242098 81022639 14853176 8374902  
134217728 44247426 529493663 5 12 8471791 176720287 81139740 15342421 8471727  
135266304 44602744 533774857 5 12 8568500 178226311 81231898 15839707 8568434  
136314880 44959744 538081281 5 12 8666694 179753710 81300829 16348562 8666626  
137363456 45317846 542404235 5 12 8763335 181303498 81346361 16865211 8763267  
138412032 45677882 546756199 5 12 8861861 182872452 81380878 17384855 8861791  
139460608 46039098 551125863 5 12 8960462 184464135 81385862 17917933 8960392  
141557760 46765049 559917976 5 12 9160866 187699869 81340250 19007800 9160794 [0/399]
142606336 47129227 564332070 5 12 9260757 189345856 81286348 19562357 9260685  
143654912 47496266 568789079 5 12 9362214 191021288 81209882 20126697 9362140  
144703488 47862517 573234268 5 12 9459868 192702844 81116049 20697907 9459792  
145752064 48231848 577725657 5 12 9561529 194407928 81014212 21271530 9561453  
146800640 48600958 582213731 5 12 9662064 196127109 80886170 21855924 9661988  
147849216 48972597 586739740 5 12 9764880 197874724 80735532 22448817 9764800  
148897792 49345048 591277929 5 12 9864621 199636541 80571132 23046552 9864539  
149946368 49718066 595824623 5 12 9965039 201408791 80391983 23651807 9964957  
150994944 50092716 600395797 5 12 10067387 203203579 80193224 24263295 10067305  
152043520 50468079 604977666 5 12 10166390 205012910 79976101 24883098 10166304  
153092096 50845262 609586835 5 12 10267361 206841105 79745944 25507650 10267271  
154140672 51223247 614208034 5 12 10368692 208682985 79499337 26139619 10368600  
155189248 51602986 618855543 5 12 10472396 210545579 79235864 26777191 10472304  
156237824 51983670 623517227 5 12 10575993 212423068 78959109 27418810 10575901  
157286400 52365805 628200676 5 12 10677267 214321506 78662110 28068640 10677175  
158334976 52748262 632888955 5 12 10781075 216226837 78355721 28722272 10780981  
159383552 53132519 637604234 5 12 10885271 218152251 78035843 29379417 10885175  
160432128 53517525 642330748 5 13 12852593 257091652 88810618 34332689 12852591  
161480704 53903330 647069247 5 13 12974479 259383439 88413468 35095270 12974473  
162529280 54291078 651836891 5 13 13094821 261696144 88006089 35860998 13094815  
163577856 54679516 656614885 5 13 13216593 264025883 87581830 36630715 13216587  
164626432 55068843 661406214 5 13 13337835 266368322 87142095 37409198 13337829  
165675008 55459686 666220283 5 13 13460104 268731875 86685156 38193944 13460098  
166723584 55851409 671047552 5 13 13581428 271108132 86224314 38975940 13581422  
167772160 56244521 675895656 5 13 13702599 273503328 85747658 39764436 13702593  
168820736 56637802 680746295 5 13 13822964 275907396 85258909 40557216 13822958  
169869312 57033441 685632304 5 13 13944747 278335250 84758796 41353199 13944741  
170917888 57429701 690527628 5 13 14067123 280772237 84248640 42154611 14067117  
171966464 57826446 695430227 5 13 14189641 283222689 83723585 42960367 14189635  
173015040 58224147 700347166 5 13 14312568 285686525 83191792 43765771 14312562  
174063616 58623577 705290040 5 13 14434897 288170253 82646014 44577579 14434891  
175112192 59023477 710239964 5 13 14556891 290663438 82094341 45388702 14556885  
176160768 59424222 715202563 5 13 14679168 293167994 81537623 46198911 14679162  
177209344 59826504 720188217 5 13 14802728 295690766 80969057 47013365 14802722  
178257920 60229478 725184251 5 13 14925807 298222529 80390088 47833911 14925801  
179306496 60633360 730193905 5 13 15048537 300769463 79806564 48649771 15048531  
180355072 61038587 735223734 5 13 15171771 303331970 79209387 49472676 15171765  
181403648 61444572 740264933 5 13 15294298 305904011 78609709 50293695 15294292  
182452224 61851216 745316017 5 13 15416734 308486964 78002810 51115450 15416728  
183500800 62257452 750360981 5 13 15539726 311073291 77388982 51937958 15539720  
184549376 62665868 755438645 5 13 15663438 313677720 76771838 52760590 15663432  
185597952 63074505 760519624 5 13 15784058 316290890 76147072 53583303 15784052  
186646528 63484846 765626163 5 13 15907403 318919793 75520920 54403244 15907397  
187695104 63897044 770760557 5 13 16033233 321566649 74882184 55229928 16033227  
188743680 64309212 775894501 5 13 16156097 324215879 74244677 56052740 16156091  
189792256 64721334 781027755 5 13 16278527 326871611 73598533 56877388 16278521  
190840832 65135148 786186389 5 13 16399545 329544224 72950492 57699083 16399539  
191889408 65549411 791351758 5 13 16521653 332223199 72300231 58518969 16521647  
192937984 65965461 796543932 5 13 16646061 334919705 71646248 59336849 16646055  
193986560 66381132 801730421 5 13 16767258 337616131 70990735 60153981 16767252  
195035136 66797842 806932495 5 13 16889788 340323436 70332154 60970183 16889782  
196083712 67214985 812141064 5 13 17011359 343038508 69669245 61786193 17011353  
197132288 67632901 817361228 5 13 17133491 345762063 69002022 62602525 17133485  
198180864 68052014 822599347 5 13 17257432 348494292 68340817 63412456 17257424  
199229440 68472487 827857866 5 13 17381892 351240354 67680079 64216676 17381884  
200278016 68891779 833098670 5 13 17503527 353983825 67006182 65029383 17503519  
201326592 69313190 838371259 5 13 17627530 356742630 66343105 65829221 17627522  
202375168 69735270 843653883 5 13 17750171 359510372 65673946 66631240 17750163  
203423744 70157722 848942087 5 13 17871866 362282220 65007782 67428452 17871858  
204472320 70580926 854241571 5 13 17993249 365063174 64336692 68226692 17993241  
205520896 71004552 859547385 5 13 18114469 367849732 63668416 69019192 18114461  
206569472 71430106 864882119 5 13 18237699 370651615 63000994 69808218 18237691  
207618048 71855471 870214018 5 13 18360881 373455024 62334253 70593645 18360873  
208666624 72282041 875563992 5 13 18482257 376268778 61667141 71377137 18482249  
209715200 72708740 880915901 5 13 18604163 379084877 61006115 72153707 18604155  

2.3 Enlarge optimize data

item internal_nodes unused_slots full_layer max_layer sat1 sat1~4 sat5~8 sat9~15 Compressible    
2097152 817477 503029 0 7 445340 718248 99229 33711 59029 26251 27.6265
3145728 1185332 1411443 0 7 548356 990797 194535 128551 36975 32224 28.0117
4194304 1497683 2930990 0 7 646050 1150028 347655 278794 20149 38273 28.5484
5242880 1793633 4609556 0 7 785823 1270854 522779 444298 19580 47510 28.9968
6291456 2097091 6091130 0 7 975284 1408774 688317 587684 37583 59724 29.2512
7340032 2419101 7170563 0 8 1206322 1594671 824430 683383 76442 73927 29.3012
8388608 2762322 7824092 0 8 1465966 1835682 926640 724811 136644 89857 29.2053
9437184 3126564 8113085 0 8 1744955 2128249 998315 716559 216366 106721 29.0290
10485760 3511517 8137223 0 8 2037239 2464918 1046599 670771 310345 124514 28.8282
11534336 3912118 7985993 0 8 2334049 2833694 1078424 601004 411889 142339 28.6280
12582912 4327289 7730370 0 8 2633600 3227897 1099392 519878 513953 160293 28.4475
13631488 4754943 7425666 0 8 2933468 3640908 1114035 437103 611313 177993 28.2945
14680064 5190233 7108055 0 8 3228914 4064614 1125619 360542 699335 195299 28.1658
15728640 5634551 6797989 0 8 3521357 4498881 1135670 294429 775311 212376 28.0634
16777216 6085270 6513335 1 8 3807803 4939423 1145847 240816 838788 229465 27.9833
17825792 6537539 6260342 1 8 4083915 5380659 1156880 199996 890142 245380 27.9171
18874368 6993406 6045357 1 8 4352794 5824043 1169363 171360 930469 261275 27.8664
19922944 7450843 5873787 1 8 4613807 6266873 1183970 154245 961108 276744 27.8281
20971520 7907655 5747769 1 8 4864858 6706657 1200998 147426 983314 291330 27.7985
22020096 8363718 5662930 1 8 5105538 7143560 1220158 149180 998500 305542 27.7755
23068672 8817349 5628998 1 8 5335566 7574939 1242410 158335 1008738 318767 27.7585
24117248 9269211 5640139 1 8 5556369 8001893 1267318 173985 1014151 331586 27.7465
25165824 9716800 5698532 1 8 5765568 8421549 1295251 195351 1015903 343573 27.7372
26214400 10161950 5810039 1 8 5966643 8835216 1326734 222246 1014703 354790 27.7329
27262976 10602567 5973763 1 8 6157557 9240702 1361865 254132 1010756 365672 27.7313
28311552 11039367 6187125 1 8 6340221 9638921 1400446 290608 1004487 376184 27.7325
29360128 11470526 6453873 1 8 6513446 10027497 1443029 331647 996322 386018 27.7356
30408704 11896931 6774398 1 8 6677197 10407400 1489531 377093 986331 395486 27.7408
31457280 12319723 7149694 1 8 6834943 10779529 1540194 427053 974536 404756 27.7494
32505856 12735935 7578685 1 8 6983856 11140869 1595066 481408 961141 413265 27.7587
33554432 13146165 8059007 1 8 7124785 11492175 1653990 539996 946193 421130 27.7689
34603008 13551000 8588949 1 8 7258284 11834133 1716867 602587 929743 428817 27.7803
35651584 13951299 9172013 1 8 7387144 12167244 1784055 669533 911889 435831 27.7937
36700160 14345209 9809899 1 8 7508716 12489433 1855776 741041 892995 442553 27.8082
37748736 14735144 10504976 1 8 7626825 12802894 1932250 817287 872978 449089 27.8253
38797312 15118981 11246822 1 9 7738795 13106357 2012624 897403 851810 455224 27.8426
39845888 15498686 12040566 1 9 7847924 13401197 2097489 981981 830000 461565 27.8619
40894464 15872548 12890130 1 9 7952113 13685402 2187146 1071349 807408 467502 27.8824
41943040 16240243 13794925 1 9 8052369 13958533 2281710 1165555 784226 472937 27.9040
42991616 16605141 14744911 1 9 8151983 14224892 2380249 1263700 760490 478553 27.9273
44040192 16964111 15737772 1 9 8246178 14481474 2482637 1365587 736438 483835 27.9506
45088768 17318470 16783174 1 9 8338019 14728759 2589711 1472106 712482 488941 27.9753
46137344 17668181 17875402 1 9 8427692 14967106 2701075 1582880 688084 494357 28.0009
47185920 18013915 19016016 1 9 8516689 15197067 2816848 1697917 663929 499527 28.0278
48234496 18356314 20189983 1 9 8604400 15420645 2935669 1815984 639925 504962 28.0549
49283072 18694017 21411355 1 9 8691574 15635054 3058963 1938354 616137 509780 28.0830
50331648 19029132 22672192 1 9 8779110 15843107 3186025 2064343 592403 515303 28.1122
51380224 19360155 23967719 1 9 8866333 16043697 3316458 2193592 569273 520615 28.1415
52428800 19687092 25298997 1 9 8951477 16236825 3450267 2326142 547067 526035 28.1708
53477376 20011223 26669996 1 9 9038590 16423322 3587901 2462316 525478 531079 28.2012
54525952 20333326 28079959 1 9 9127506 16603981 3729345 2602106 504590 536636 28.2329
55574528 20651740 29519394 1 9 9216802 16777922 3873818 2744780 484043 542210 28.2643
56623104 20968699 30984649 1 9 9307938 16947803 4020896 2889815 464627 547952 28.2962
57671680 21282401 32486244 1 9 9399926 17110771 4171630 3038214 446015 553830 28.3287
58720256 21593390 34009763 1 9 9492728 17268675 4324715 3188842 428169 559454 28.3608
59768832 21902218 35557890 1 9 9588097 17421777 4480441 3341871 411090 565320 28.3930
60817408 22209779 37128552 1 9 9685880 17571221 4638558 3497007 395255 571676 28.4255
61865984 22515675 38721032 1 9 9786341 17716589 4799086 3654182 380358 578514 28.4581
62914560 22820038 40337485 1 9 9889019 17857813 4962225 3813821 366262 585393 28.4910
63963136 23122168 41967105 1 9 9993871 17995075 5127093 3974893 353122 592049 28.5233
65011712 23422723 43611323 1 9 10100521 18129003 5293720 4137204 341403 598971 28.5553
66060288 23722238 45267661 1 9 10210425 18260344 5461894 4300646 330519 606086 28.5871
67108864 24020813 46940713 1 9 10323250 18388800 5632013 4465777 320549 613203 28.6188
68157440 24319018 48621951 1 9 10439294 18515626 5803392 4631838 311740 620795 28.6504
69206016 24617053 50307456 1 9 10559297 18641449 5975604 4798222 303993 628462 28.6815
70254592 24913243 52004105 1 9 10680228 18763900 6149343 4965633 297278 636158 28.7121
71303168 25209388 53697232 1 9 10805455 18885993 6323395 5132766 291726 644247 28.7420
72351744 25504477 55401663 1 9 10932565 19005529 6498948 5301039 287191 652410 28.7717
73400320 25800066 57103400 1 9 11064771 19125322 6674744 5468777 284212 660989 28.8009
74448896 26093618 58816217 1 9 11197849 19241515 6852103 5637590 282196 669357 28.8296
75497472 26388292 60514941 1 9 11335441 19359584 7028708 5805274 281031 678022 28.8573
76546048 26682691 62208975 1 9 11475956 19477216 7205475 5972464 280906 687069 28.8844
77594624 26977902 63897711 1 9 11620934 19595605 7382297 6139036 282100 696699 28.9109
78643200 27272582 65576894 1 9 11767989 19713777 7558805 6304675 284285 706238 28.9365
79691776 27567628 67252794 1 9 11918888 19832097 7735531 6469847 287704 716031 28.9615
80740352 27862728 68919952 1 9 12073326 19950716 7912012 6634083 292120 725795 28.9858
81788928 28157469 70582651 1 9 12229812 20068806 8088663 6797744 297719 735492 29.0095
82837504 28453195 72231124 1 9 12390094 20188637 8264558 6959848 304665 746070 29.0324
83886080 28748345 73860104 1 9 12551878 20309089 8439256 7120085 312533 756333 29.0539
84934656 29045127 75484539 1 9 12718781 20431079 8614048 7279825 321320 767054 29.0754
85983232 29343212 77087073 1 9 12889407 20555825 8787387 7437200 331474 778058 29.0959
87031808 29641057 78683317 1 9 13062571 20680416 8960641 7593489 342791 788902 29.1158
88080384 29939533 80260965 1 9 13238312 20806825 9132708 7747588 355550 799930 29.1348
89128960 30239358 81807385 1 9 13417668 20936873 9302485 7898617 369308 811317 29.1524
90177536 30539237 83346439 1 9 13599565 21067055 9472182 8048535 384533 822821 29.1696
91226112 30840611 84860585 1 9 13784623 21200558 9640053 8195702 400776 834413 29.1859
92274688 31142906 86360602 1 9 13973192 21335707 9807199 8341173 418379 846556 29.2016
93323264 31445348 87825988 1 9 14163788 21473616 9971732 8483066 437124 858614 29.2157
94371840 31749850 89280127 1 9 14359036 21614191 10135659 8623502 456943 870587 29.2297
95420416 32054028 90710372 1 9 14554458 21756089 10297939 8761149 478074 882871 29.2424
96468992 32360708 92116327 1 9 14755558 21902147 10458561 8896085 500496 895699 29.2547
97517568 32667696 93493053 1 9 14957830 22050748 10616948 9027679 524183 908265 29.2657
98566144 32976378 94856059 1 9 15164038 22201921 10774457 9157170 549241 921148 29.2764
99614720 33286031 96189607 1 9 15372636 22356182 10929849 9283544 575434 934478 29.2862
100663296 33596892 97497232 1 9 15583379 22513577 11083315 9407062 602876 947721 29.2951
101711872 33909097 98774911 1 9 15797048 22674576 11234521 9527034 631577 961391 29.3030
102760448 34222043 100029380 1 9 16013049 22837982 11384061 9644050 661894 974904 29.3102
103809024 34536317 101261388 1 9 16231040 23004394 11531923 9758358 693310 988597 29.3168
104857600 34852428 102459712 1 9 16452040 23175252 11677176 9868764 726130 1002578 29.3225
105906176 35169097 103635830 1 9 16674979 23348278 11820819 9976466 760218 1016668 29.3274
106954752 35487316 104787425 1 9 16900725 23524649 11962667 10081121 795553 1030758 29.3318
108003328 35807990 105906846 1 9 17129900 23706032 12101958 10181845 832414 1045043 29.3356
109051904 36129255 107000063 1 9 17360736 23889981 12239274 10279374 870577 1059442 29.3385
110100480 36452069 108061169 1 9 17593882 24078048 12374021 10373052 910178 1073962 29.3406
111149056 36776173 109097837 1 9 17828686 24269308 12506865 10464134 950522 1088659 29.3421
112197632 37101163 110110637 1 9 18065180 24463219 12637944 10551680 992755 1103450 29.3430
113246208 37428007 111094497 1 9 18303854 24661357 12766650 10635677 1036227 1118635 29.3432
114294784 37755605 112047329 1 9 18544541 24862589 12893016 10716079 1081044 1133749 29.3427
115343360 38085615 112972645 1 9 18788130 25068514 13017101 10792761 1127370 1149017 29.3417
116391936 38415483 113871560 1 9 19032329 25276272 13139211 10866103 1175118 1164289 29.3399
117440512 38747690 114746036 1 9 19279282 25488350 13259340 10936092 1224350 1179834 29.3378
118489088 39081403 115595042 1 9 19528217 25703958 13377445 11002680 1274919 1195305 29.3352
119537664 39416507 116416483 1 9 19779185 25923209 13493298 11065680 1326910 1210581 29.3320
120586240 39753061 117210354 1 9 20032192 26146096 13606965 11125507 1379942 1226255 29.3283
121634816 40090382 117978626 1 9 20285515 26371741 13718641 11181812 1434525 1241986 29.3240
122683392 40429465 118713593 1 9 20540930 26601964 13827501 11234008 1490471 1258069 29.3191
123731968 40769795 119426417 1 9 20797521 26835159 13934636 11283142 1547766 1274275 29.3138
124780544 41111674 120118128 1 9 21056409 27071660 14040014 11329556 1606094 1290237 29.3082
125829120 41454635 120776245 1 9 21316123 27312042 14142593 11371677 1665926 1306173 29.3018
126877696 41799135 121417407 1 9 21577494 27555288 14243847 11411163 1727101 1322371 29.2954
127926272 42144740 122022489 1 9 21840046 27802632 14342108 11446165 1789850 1338569 29.2881
128974848 42491690 122608444 1 9 22104207 28052845 14438845 11478928 1853317 1354813 29.2806
130023424 42840461 123175576 1 9 22370382 28306468 14533993 11508155 1918797 1371313 29.2730
131072000 43190392 123714484 1 9 22636967 28563662 14626730 11534161 1985074 1387652 29.2649
132120576 43542352 124229466 1 9 22906208 28824812 14717540 11557162 2052494 1404412 29.2565
133169152 43894460 124723374 1 9 23174952 29087890 14806570 11576793 2121509 1420766 29.2477
134217728 44247079 125192515 1 9 23444271 29353457 14893622 11593299 2191713 1437004 29.2384
135266304 44602619 125639652 1 9 23717196 29623801 14978818 11606705 2263182 1453865 29.2291
136314880 44960256 126057830 1 9 23991206 29898808 15061448 11617070 2335141 1470894 29.2194
137363456 45319311 126461272 1 9 24266725 30176523 15142788 11624490 2408752 1487889 29.2096
138412032 45678501 126841637 1 9 24542100 30456246 15222255 11628960 2483487 1504569 29.1994
139460608 46039770 127195943 1 9 24819404 30740270 15299500 11629864 2559565 1521643 29.1889
140509184 46402056 127535625 1 9 25097339 31026544 15375512 11628673 2636512 1538711 29.1783
141557760 46765771 127851644 1 9 25376375 31316291 15449480 11623764 2715180 1555773 29.1674
142606336 47129634 128144610 1 9 25655130 31608077 15521557 11616630 2794182 1572793 29.1561
143654912 47495470 128423698 1 9 25936024 31903055 15592415 11606924 2874520 1589990 29.1449
144703488 47862251 128680256 1 9 26217139 32200942 15661309 11594468 2955671 1607093 29.1333
145752064 48230334 128915955 1 9 26499179 32501958 15728376 11578697 3038345 1624037 29.1215
146800640 48599332 129131865 1 9 26781950 32805505 15793827 11560614 3121703 1641283 29.1095
147849216 48971014 129334598 1 9 27066862 33112976 15858038 11539421 3206965 1658914 29.0977
148897792 49343616 129520214 1 9 27351905 33422921 15920695 11516363 3292537 1676389 29.0858
149946368 49718217 129690546 1 9 27638508 33736248 15981969 11491424 3378602 1694079 29.0738
150994944 50092938 129839079 1 9 27924618 34051542 16041396 11463562 3465743 1711607 29.0615
152043520 50469514 129973930 1 9 28212812 34369894 16099620 11432888 3554524 1729051 29.0492
153092096 50845745 130088263 1 9 28499234 34689694 16156051 11399780 3643948 1746501 29.0365
154140672 51224330 130187558 1 9 28788439 35013185 16211145 11364825 3733902 1763740 29.0239
155189248 51604564 130269951 1 9 29078434 35339862 16264702 11327752 3824423 1781534 29.0113
156237824 51985593 130341422 1 9 29368823 35668288 16317305 11288225 3916459 1799234 28.9987
157286400 52368289 130398515 1 9 29659976 35999768 16368521 11247230 4008579 1816935 28.9860
158334976 52751270 130442783 1 9 29950854 36332637 16418633 11204046 4101791 1834500 28.9733
159383552 53134570 130466966 1 9 30241538 36667541 16467029 11158218 4195936 1851899 28.9602
160432128 53520028 130476059 1 9 30534586 37005982 16514046 11110680 4290426 1869471 28.9473
161480704 53907810 130473781 1 10 30829232 37347858 16559952 11061855 4385081 1887521 28.9345
162529280 54294597 130458770 1 10 31121421 37689846 16604751 11010125 4481530 1905262 28.9214
163577856 54682751 130433287 1 10 31414154 38034236 16648515 10957391 4577967 1922895 28.9083
164626432 55071816 130394328 1 10 31706853 38380740 16691076 10902740 4675096 1940752 28.8952
165675008 55462945 130346855 1 10 32001949 38730159 16732786 10846930 4772557 1958441 28.8824
166723584 55854871 130287240 1 10 32296964 39081459 16773412 10789473 4870578 1976397 28.8694
167772160 56247589 130211017 1 10 32592150 39435059 16812530 10729597 4969505 1994116 28.8564
168820736 56642007 130126833 1 10 32888438 39791154 16850853 10668646 5068733 2012251 28.8435
169869312 57036971 130032989 1 10 33184867 40148688 16888283 10606936 5167837 2030183 28.8306
170917888 57433334 129928107 1 10 33481853 40508679 16924655 10543256 5267840 2048268 28.8178
171966464 57830176 129813655 1 10 33778692 40870079 16960097 10478608 5367881 2066020 28.8049
173015040 58227953 129688120 1 10 34075012 41233469 16994484 10411965 5468862 2083955 28.7920
174063616 58626619 129554673 1 10 34372625 41598438 17028181 10344198 5570283 2101949 28.7792
175112192 59025784 129412451 1 10 34669295 41964763 17061021 10275809 5671477 2120163 28.7664
176160768 59426479 129259658 1 10 34966259 42333753 17092726 10205886 5773062 2137879 28.7536
177209344 59827953 129097630 1 10 35263639 42704385 17123568 10135278 5874472 2155837 28.7409
178257920 60231541 128930448 1 10 35562394 43077733 17153808 10063579 5976356 2174224 28.7284
179306496 60634914 128753192 1 10 35860665 43451738 17183176 9990334 6078931 2191934 28.7158
180355072 61039214 128570820 1 10 36158974 43827215 17211999 9916819 6181237 2210016 28.7034
181403648 61444746 128380903 1 10 36458011 44204733 17240013 9841818 6284221 2227828 28.6910
182452224 61851652 128179918 1 10 36757349 44584718 17266934 9765867 6387055 2245924 28.6787
183500800 62258821 127975609 1 10 37056012 44965344 17293477 9689488 6489942 2263665 28.6664
184549376 62666760 127762394 1 10 37355241 45347583 17319177 9612717 6592382 2281713 28.6542
185597952 63076079 127546112 1 10 37654854 45731625 17344454 9535157 6695193 2299890 28.6422
186646528 63485295 127322695 1 10 37953447 46116264 17369031 9456419 6798477 2317545 28.6301
187695104 63896109 127094256 1 10 38253151 46503064 17393045 9377921 6900955 2335622 28.6182
188743680 64308224 126860303 1 10 38552953 46891819 17416405 9298065 7004135 2353686 28.6064
189792256 64721507 126617711 1 10 38853832 47282579 17438928 9217398 7107285 2371740 28.5947
190840832 65135380 126372246 1 10 39153910 47674342 17461038 9136578 7210181 2389790 28.5832
191889408 65549527 126118833 1 10 39453430 48067130 17482397 9055121 7312966 2407878 28.5715
192937984 65965594 125864631 1 10 39754575 48462091 17503503 8973884 7415276 2425917 28.5602
193986560 66381842 125607152 1 10 40055195 48857585 17524257 8892894 7516991 2443817 28.5490
195035136 66799304 125343894 1 10 40356450 49254951 17544353 8811404 7618547 2461590 28.5378
196083712 67217117 125072077 1 10 40657287 49653486 17563631 8728992 7720196 2479392 28.5266
197132288 67634346 124800724 1 10 40955767 50051530 17582816 8645943 7822396 2497046 28.5155
198180864 68053326 124527679 1 10 41255905 50451553 17601773 8562725 7924522 2515185 28.5046
199229440 68473925 124248503 1 10 41557165 50853938 17619987 8480031 8025385 2532920 28.4938
200278016 68894399 123967355 1 10 41856856 51256427 17637972 8396918 8126444 2551315 28.4831
201326592 69315625 123681765 1 10 42156866 51660223 17655402 8313538 8227209 2569046 28.4724
202375168 69738258 123393400 1 10 42457838 52065790 17672468 8230457 8327316 2587110 28.4620
203423744 70161549 123104027 1 10 42758171 52472272 17689277 8147330 8427209 2604829 28.4517
204472320 70584533 122810882 1 10 43057654 52878810 17705723 8063902 8527035 2622613 28.4413
205520896 71008748 122514333 1 10 43357498 53287011 17721737 7980639 8626269 2640682 28.4311
206569472 71434378 122213937 1 10 43658155 53697132 17737246 7897361 8724994 2658775 28.4211
207618048 71860287 121912933 1 10 43958416 54107690 17752597 7814587 8823070 2677074 28.4111
208666624 72286133 121612859 1 10 44257683 54518237 17767896 7731704 8921214 2694656 28.4012
209715200 72712137 121306443 1 10 44556521 54929523 17782614 7648862 9018719 2712439 28.3914

2.4 Enlarge and srhink without layer0

item internal_nodes unused_slots full_layer max_layer sat1 sat1~4 sat5~8 sat9~15 Compressible    
2097152 822361 501171 4 11 445906 718931 103430 33530 59106 26546 27.7785
3145728 1189393 1417226 4 11 548464 989946 199447 129064 37068 32367 28.1177
4194304 1500770 2933840 4 11 644509 1148436 352334 279105 20041 38049 28.6196
5242880 1795567 4619764 4 11 782942 1267450 528117 445148 19766 47012 29.0545
6291456 2098686 6095689 4 12 973003 1405392 693294 588017 38013 58879 29.2953
7340032 2420062 7170106 4 12 1203195 1591057 829005 683333 76735 73279 29.3342
8388608 2764805 7821768 4 12 1464845 1833811 930994 724123 137298 89581 29.2374
9437184 3129883 8112999 4 12 1744225 2127096 1002787 716225 216778 106906 29.0601
10485760 3514441 8135610 4 12 2035635 2463481 1050960 670463 310627 124868 28.8548
11534336 3915785 7982760 4 12 2333228 2833168 1082617 600421 412296 142662 28.6530
12582912 4331277 7727655 4 13 2633610 3227604 1103673 519453 514288 160732 28.4714
13631488 4757861 7422680 4 13 2932440 3639455 1118406 436973 611433 178537 28.3150
14680064 5194502 7104178 4 13 3229006 4064689 1129813 360527 699191 196356 28.1865
15728640 5638126 6794465 5 13 3520077 4498230 1139896 294130 775488 213474 28.0818
16777216 6087816 6510296 5 13 3805246 4937740 1150076 240693 838758 230215 27.9991
17825792 6541722 6257086 5 13 4083787 5380664 1161058 199741 890184 246462 27.9339
18874368 6997503 6042542 5 13 4352279 5823937 1173566 171163 930575 262269 27.8823
19922944 7454249 5870969 5 13 4612046 6266118 1188131 154379 960726 277350 27.8422
20971520 7911313 5741760 5 13 4863014 6706464 1204849 147354 982873 291899 27.8115
22020096 8366600 5653145 5 13 5103048 7142913 1223687 148456 998434 305887 27.7863
23068672 8821219 5620369 5 13 5334153 7575249 1245970 157948 1008248 319468 27.7699
24117248 9272829 5632420 5 13 5554785 8001830 1270999 173667 1013800 332348 27.7574
25165824 9721950 5694313 5 13 5767047 8422718 1299232 195295 1015609 344343 27.7497
26214400 10167345 5806752 5 13 5969483 8836509 1330836 222151 1014320 355904 27.7453
27262976 10609414 5968708 5 13 6163015 9243622 1365792 253863 1010462 366451 27.7443
28311552 11045301 6184925 5 13 6345313 9640581 1404720 290590 1004116 376517 27.7448
29360128 11477209 6453734 5 13 6519289 10029748 1447461 331802 995988 386516 27.7483
30408704 11903602 6772520 5 13 6683654 10409747 1493855 377172 985816 395700 27.7529
31457280 12324378 7147681 5 13 6838739 10779867 1544511 427078 973993 404245 27.7595
32505856 12740652 7572295 5 13 6988542 11141552 1599100 481158 960486 412594 27.7681
33554432 13152427 8050959 5 13 7130675 11494632 1657795 539443 945395 420892 27.7788
34603008 13557395 8586700 5 13 7264922 11836230 1721165 602543 929052 428455 27.7907
35651584 13957704 9172342 5 13 7393909 12169108 1788596 669756 911051 435638 27.8042
36700160 14352435 9807600 5 13 7516791 12492343 1860092 741022 892091 442598 27.8186
37748736 14742059 10499264 5 13 7634512 12805713 1936346 817039 871942 449498 27.8349
38797312 15126215 11239906 5 13 7746714 13109548 2016667 897121 850722 455936 27.8521
39845888 15505611 12032434 5 13 7855300 13404204 2101407 981592 828963 461880 27.8708
40894464 15879481 12878567 5 13 7958997 13688622 2190859 1070775 806254 467513 27.8908
41943040 16249109 13779115 5 13 8060479 13964143 2284966 1164560 782955 473525 27.9128
42991616 16613522 14724485 5 13 8157876 14230476 2383046 1262227 759433 479183 27.9351
44040192 16972076 15715099 5 13 8250950 14486860 2485216 1363905 735423 484475 27.9577
45088768 17327604 16755819 5 13 8344466 14735786 2591818 1469955 711308 490015 27.9824
46137344 17677980 17844188 5 13 8434649 14975194 2702786 1580297 687129 495348 28.0077
47185920 18023769 18988120 5 13 8524126 15204948 2818821 1695633 663012 500715 28.0348
48234496 18365366 20169211 5 13 8610990 15427044 2938322 1814277 639258 505798 28.0621
49283072 18702874 21388028 5 13 8697067 15641485 3061389 1936455 615563 511318 28.0897
50331648 19037152 22641395 5 13 8783022 15849467 3187685 2061729 592183 516389 28.1176
51380224 19366707 23941940 5 13 8867706 16048246 3318461 2191363 569228 521611 28.1464
52428800 19694282 25281177 5 13 8954250 16241291 3452991 2324628 546589 526898 28.1766
53477376 20018454 26646444 5 13 9041493 16428280 3590174 2460334 524632 532234 28.2065
54525952 20340289 28053953 5 13 9130418 16608904 3731385 2599906 503468 537303 28.2377
55574528 20659150 29489766 5 13 9219325 16783647 3875503 2742154 483152 542797 28.2690
56623104 20975833 30963306 5 13 9310852 16952534 4023299 2887949 463638 548614 28.3013
57671680 21288882 32462607 5 13 9402019 17115034 4173848 3036253 444952 554428 28.3332
58720256 21600495 33986000 5 13 9496232 17273603 4326892 3186841 427198 560373 28.3655
59768832 21909729 35535756 5 13 9591929 17426970 4482759 3339935 410196 566688 28.3979
60817408 22216797 37117365 5 13 9689191 17574955 4641842 3495976 394166 573091 28.4308
61865984 22521778 38713477 5 13 9787909 17719063 4802715 3653626 379157 579417 28.4633
62914560 22824778 40328404 5 13 9889200 17859035 4965743 3813125 365006 585948 28.4955
63963136 23126430 41959327 5 13 9992995 17995773 5130657 3974160 351894 592317 28.5276
65011712 23427263 43604669 5 13 10099659 18129933 5297330 4136556 340111 599199 28.5597
66060288 23726772 45271617 5 13 10209497 18260385 5466387 4301018 329309 606235 28.5920
67108864 24025174 46953013 5 14 10322200 18387920 5637254 4466776 319754 613697 28.6241
68157440 24322690 48633629 5 14 10437152 18514169 5808521 4632785 310911 621106 28.6553
69206016 24620735 50315396 5 14 10557295 18640291 5980444 4798725 303369 628746 28.6862
70254592 24917310 52011515 5 14 10678941 18763148 6154162 4966219 296767 636535 28.7168
71303168 25212926 53713393 5 14 10804342 18883908 6329018 5134320 291091 644443 28.7470
72351744 25508802 55406446 5 14 10932828 19005220 6503582 5301616 286703 652971 28.7762
73400320 25803483 57114528 5 14 11063446 19123543 6679940 5470280 283046 661208 28.8054
74448896 26096947 58823149 5 14 11196591 19239981 6856966 5638967 280718 669750 28.8338
75497472 26391721 60519451 5 14 11334618 19358333 7033388 5806490 279645 678564 28.8614
76546048 26685995 62222412 5 14 11475735 19475035 7210960 5974394 279728 687645 28.8888
77594624 26980963 63916583 5 14 11620905 19592696 7388267 6141506 280798 696812 28.9156
78643200 27275992 65601863 5 14 11768897 19710730 7565262 6307677 283188 706271 28.9414
79691776 27570557 67280586 5 14 11918932 19828326 7742231 6473239 286440 715883 28.9665
80740352 27866652 68955041 5 14 12074624 19947267 7919385 6638101 290983 726151 28.9914
81788928 28162526 70612671 5 14 12231777 20067052 8095474 6801348 296632 736230 29.0150
82837504 28458649 72260934 5 14 12392472 20187340 8271309 6963549 303377 746405 29.0379
83886080 28755036 73902831 5 14 12556413 20307975 8447061 7124904 311244 756541 29.0603
84934656 29051274 75529670 5 14 12722704 20429194 8622080 7284359 320539 767297 29.0817
85983232 29349026 77130224 5 14 12893083 20553773 8795253 7441246 330945 778206 29.1020
87031808 29646736 78722522 5 14 13065386 20678620 8968116 7597204 342162 789317 29.1215
88080384 29945953 80288630 5 14 13242094 20806738 9139215 7750409 354709 800458 29.1401
89128960 30245472 81835871 5 14 13421725 20936283 9309189 7901595 368600 811663 29.1577
90177536 30545861 83367471 5 14 13604169 21067638 9478223 8051217 383377 823145 29.1746
91226112 30847186 84877341 5 14 13789495 21201414 9645772 8198130 399698 835007 29.1906
92274688 31149303 86369123 5 14 13977583 21337143 9812160 8342853 417235 846943 29.2059
93323264 31452619 87838140 5 14 14169033 21475618 9977001 8485412 435541 859249 29.2203
94371840 31757459 89290481 5 14 14363712 21616749 10140710 8625300 455695 871761 29.2342
95420416 32062895 90716723 5 14 14561040 21760300 10302595 8762450 476867 884075 29.2470
96468992 32369612 92121684 5 14 14761593 21906551 10463061 8897110 499452 896780 29.2592
97517568 32676994 93500655 5 14 14964631 22055295 10621699 9029199 522930 909495 29.2703
98566144 32986245 94854373 5 14 15170930 22207818 10778427 9157875 548078 922552 29.2808
99614720 33295710 96186447 5 14 15379022 22362091 10933619 9284134 574276 935741 29.2903
100663296 33606909 97484825 5 14 15590129 22520656 11086253 9406389 602114 949061 29.2988
101711872 33919283 98768169 5 14 15804563 22681324 11237959 9526921 630826 962631 29.3070
102760448 34232623 100025860 5 14 16020815 22844867 11387756 9644128 661266 976227 29.3144
103809024 34546898 101256959 5 14 16238931 23011336 11535562 9758299 692802 989786 29.3209
104857600 34862239 102461683 5 14 16459604 23180785 11681454 9869312 725617 1003552 29.3267
105906176 35178822 103629517 5 14 16682454 23354406 11824416 9976292 759673 1017194 29.3313
106954752 35497842 104778454 5 14 16908737 23531897 11965945 10080346 795384 1031621 29.3357
108003328 35817116 105903442 5 14 17136265 23711385 12105731 10181714 832109 1045844 29.3393
109051904 36138933 106995701 5 14 17367666 23896000 12242933 10279001 870429 1060529 29.3422
110100480 36461315 108063039 5 17 17599986 24083066 12378249 10373117 910143 1075134 29.3444
111149056 36783969 109104313 5 17 17833509 24272443 12511526 10464056 951069 1089495 29.3458
112197632 37107788 110115685 5 17 18068693 24465223 12642565 10551529 993315 1104060 29.3464
113246208 37434999 111103076 5 17 18308149 24663437 12771562 10635928 1036682 1118837 29.3468
114294784 37763164 112061252 5 17 18549593 24864871 12898293 10716787 1081421 1133874 29.3465
115343360 38092356 112998153 5 17 18792575 25068902 13023454 10794706 1127609 1148805 29.3457
116391936 38423304 113895092 5 17 19037446 25277995 13145309 10867863 1175290 1164054 29.3440
117440512 38754905 114762541 5 17 19283797 25490065 13264840 10937387 1224347 1179097 29.3415
118489088 39087988 115613398 5 17 19531539 25704911 13383077 11004162 1274877 1194250 29.3388
119537664 39423351 116433003 5 17 19782600 25924571 13498780 11067156 1326715 1209910 29.3356
120586240 39759182 117227730 5 17 20034209 26146650 13612532 11126827 1379983 1225377 29.3317
121634816 40096628 117996272 5 17 20287701 26372477 13724151 11183325 1434352 1241120 29.3274
122683392 40434914 118733194 5 17 20542743 26601627 13833287 11235861 1490214 1256877 29.3224
123731968 40775179 119443471 5 17 20799996 26834949 13940230 11284929 1547404 1272787 29.3170
124780544 41116554 120129955 5 17 21058009 27071360 14045194 11330879 1605758 1288737 29.3111
125829120 41460521 120794332 5 17 21318899 27312285 14148236 11373624 1665441 1304675 29.3051
126877696 41805068 121434737 5 17 21580300 27555664 14249404 11413254 1726411 1320766 29.2986
127926272 42150755 122047511 5 17 21843054 27802449 14348306 11449310 1788717 1336705 29.2915
128974848 42497359 122635773 5 17 22106884 28052098 14445261 11481749 1852704 1353117 29.2841
130023424 42845838 123202970 5 17 22372622 28305427 14540411 11511474 1917634 1369488 29.2764
131072000 43195817 123742711 5 17 22639961 28562507 14633310 11537324 1984251 1386039 29.2683
132120576 43547196 124258586 5 17 22908039 28823029 14724167 11560400 2051619 1402785 29.2598
133169152 43899182 124748302 5 17 23177019 29086279 14812903 11579734 2120613 1419322 29.2508
134217728 44253438 125217093 5 17 23448169 29353611 14899827 11596226 2190682 1435942 29.2417
135266304 44609412 125659525 5 17 23721020 29624871 14984541 11609374 2261936 1452869 29.2323
136314880 44966744 126082594 5 17 23994810 29899141 15067603 11619880 2334139 1469814 29.2227
137363456 45324624 126478720 5 17 24269092 30176175 15148449 11626845 2407733 1486431 29.2125
138412032 45684254 126859302 5 17 24544222 30456363 15227891 11631308 2482435 1503329 29.2023
139460608 46045463 127214373 5 17 24821557 30740258 15305205 11632171 2558616 1520430 29.1918
140509184 46408022 127547070 5 17 25099328 31027420 15380602 11630077 2635844 1537286 29.1811
141557760 46770985 127863678 5 17 25377479 31316322 15454663 11625328 2714421 1554408 29.1701
142606336 47134469 128155517 5 17 25655472 31607844 15526625 11617735 2793759 1571438 29.1586
143654912 47500656 128433258 5 17 25936065 31903352 15597304 11607767 2874186 1588631 29.1474
144703488 47867143 128686700 5 17 26216906 32201208 15665935 11594420 2955984 1605691 29.1357
145752064 48236273 128932123 5 17 26500020 32502476 15733797 11579632 3038438 1622925 29.1243
146800640 48606029 129152009 5 17 26783413 32806532 15799497 11561899 3121675 1640173 29.1125
147849216 48976474 129353120 5 17 27066719 33112899 15863575 11541397 3206105 1657390 29.1004
148897792 49349188 129541435 5 17 27351508 33422773 15926415 11518738 3291471 1674776 29.0885
149946368 49721762 129710833 5 17 27636043 33734022 15987740 11493054 3378327 1692415 29.0762
150994944 50095886 129859099 5 17 27921940 34048671 16047215 11465289 3465446 1709845 29.0638
152043520 50472376 129988608 5 17 28209721 34367423 16104953 11434466 3553887 1727148 29.0514
153092096 50849687 130102405 5 17 28497869 34688335 16161352 11401356 3643266 1744880 29.0388
154140672 51227153 130202149 5 17 28785695 35010609 16216544 11366434 3733254 1762288 29.0261
155189248 51606413 130293868 5 17 29074243 35335506 16270907 11330561 3823386 1779742 29.0135
156237824 51987608 130363309 5 17 29364986 35664291 16323317 11291316 3914952 1797085 29.0008
157286400 52369054 130415272 5 17 29654910 35994819 16374235 11248748 4008353 1814895 28.9879
158334976 52752007 130453068 5 17 29946215 36328132 16423875 11205078 4101568 1832662 28.9750
159383552 53135865 130479062 5 17 30237479 36663454 16472411 11160048 4195054 1850232 28.9620
160432128 53521205 130491902 5 17 30529901 37001467 16519738 11112877 4289475 1867938 28.9491
161480704 53906991 130487229 5 17 30822048 37341441 16565550 11063373 4384703 1885748 28.9360
162529280 54295064 130473222 5 17 31115600 37684727 16610337 11011584 4481220 1903358 28.9231
163577856 54683640 130445904 5 17 31408815 38029673 16653967 10958304 4578069 1921197 28.9100
164626432 55073278 130406156 5 17 31702941 38376818 16696460 10903109 4675703 1938812 28.8970
165675008 55463379 130352938 5 17 31996784 38725614 16737765 10846771 4773291 1956685 28.8839
166723584 55855360 130293691 5 17 32292133 39076977 16778383 10789548 4871069 1974241 28.8709
167772160 56248172 130218452 5 17 32587595 39430603 16817569 10729694 4970059 1992146 28.8579

2.5 no small node

item internal_nodes unused_slots full_layer max_layer sat1~2 small_nodes normal_nodes sat5~8 sat9~15 Compressible    
16777216 6086931 74592285 1 8 3806759 0 6086931 241628 838195 0 42.1223 11
33554432 13145925 163699979 1 9 7127604 0 13145925 540523 946197 0 44.2081 14
50331648 19027446 235145578 1 9 8777581 0 19027446 2063058 593075 0 43.2190 15
67108864 24020699 293267157 1 10 10325400 0 24020699 4464194 321424 0 41.7714 16
83886080 28747560 347392856 1 10 12554311 0 28747560 7122022 313816 0 40.6742 15
100663296 33599933 403401235 1 10 15589941 0 33599933 9404588 604456 0 40.0325 15
117440512 38748598 463853994 1 10 19281953 0 38748598 10933954 1225278 0 39.7559 16
134217728 44250455 529604633 1 10 23446550 0 44250455 11594131 2190071 0 39.7378 16
150994944 50091961 600450007 1 10 27919704 0 50091961 11465378 3463836 0 39.8857 16
167772160 56245114 675970086 1 10 32583962 0 56245114 10729394 4968869 0 40.1378 16
184549376 62665292 755495540 1 10 37349741 0 62665292 9612534 6591556 0 40.4482 17
201326592 69314117 838450699 1 10 42153313 0 69314117 8313990 8226800 0 40.7887 17
218103808 76152665 924251703 1 10 46948263 0 76152665 6998083 9777264 0 41.1394 18
234881024 83135647 1012219217 1 10 51684996 0 83135647 5775947 11180897 0 41.4842 18
251658240 90240423 1102013641 1 11 56348518 0 90240423 4720605 12395867 0 41.8180 18
268435456 97428039 1193050665 1 11 60905185 0 97428039 3862260 13412006 0 42.1322 19
285212672 104681163 1285070309 2 11 65347145 0 104681163 3210785 14233599 0 42.4260 18
301989888 111972711 1377666313 2 11 69654368 0 111972711 2755977 14877712 0 42.6964 19

2.6 with small node

item internal_nodes unused_slots full_layer max_layer sat1~2 small_nodes normal_nodes sat5~8 sat9~15 Compressible    
16777216 6084541 6514386 1 8 3807465 4938554 1145987 240738 839014 229886 27.9827 13
33554432 13153259 8046228 1 8 7134151 11500612 1652647 538753 946196 421840 27.7721 16
50331648 19032341 22646191 1 9 8781235 15848796 3183545 2062054 593236 516352 28.1114 18
67108864 24024945 46940266 1 9 10327254 18393330 5631615 4465727 320511 613530 28.6200 19
83886080 28749417 73887952 1 10 12555852 20307708 8441709 7123481 311691 756330 29.0557 20
100663296 33596728 97498235 1 10 15585704 22513169 11083559 9408429 601946 947936 29.2951 19
117440512 38747524 114750266 1 10 19279366 25487839 13259685 10935601 1225274 1178386 29.3379 19
134217728 44253924 125169702 1 10 23450962 29362735 14891189 11591912 2190859 1435759 29.2387 19
150994944 50101518 129818538 1 10 27929406 34062750 16038768 11461914 3464758 1710559 29.0620 18
167772160 56255584 130203924 1 10 32594737 39444700 16810884 10729692 4967781 1994055 28.8571 18
184549376 62676609 127761780 1 10 37362062 45358631 17317978 9612944 6590984 2281075 28.6552 19
201326592 69323177 123692168 1 10 42161689 51667814 17655363 8315732 8225059 2568787 28.4733 18
218103808 76154777 118828337 1 10 46945938 58263153 17891624 6998647 9777487 2854206 28.3176 19
234881024 83134998 113739608 1 10 51681684 65060256 18074742 5774788 11182742 3135442 28.1884 20
251658240 90236767 108800004 1 10 56342152 71999790 18236977 4718528 12398331 3412080 28.0841 19
268435456 97425996 104232831 1 10 60901227 79026590 18399406 3858176 13416165 3681375 28.0006 19
285212672 104680823 100188985 2 10 65346365 86104719 18576104 3205097 14238101 3940698 27.9349 20
301989888 111971401 96762773 2 10 69651461 93193767 18777634 2751557 14880671 4192055 27.8833 19
318767104 119282633 94009376 2 10 73817883 100271986 19010647 2478689 15368317 4433600 27.8434 21
335544320 126593187 91951757 2 10 77831687 107313721 19279466 2364196 15725586 4666328 27.8126 20
352321536 133892153 90616127 2 10 81688983 114304790 19587363 2388951 15973260 4889634 27.7892 20
369098752 141160676 90041408 2 10 85383538 121220501 19940175 2534706 16133014 5102952 27.7719 20
385875968 148388058 90230858 2 10 88921668 128047806 20340252 2785712 16221436 5306328 27.7593 21
402653184 155567291 91221231 2 10 92300788 134775489 20791802 3131905 16250563 5499797 27.7511 21
419430400 162687821 92993427 2 10 95522184 141392816 21295005 3560368 16231626 5683928 27.7461 21
436207616 169745668 95583606 2 10 98592630 147891289 21854379 4068482 16169709 5857194 27.7442 22
452984832 176731104 99027607 2 10 101515297 154256199 22474905 4653533 16071339 6022641 27.7451 21
469762048 183633700 103287576 2 10 104282527 160478977 23154723 5308789 15940017 6179598 27.7477 21
486539264 190463408 108385769 2 10 106922946 166566735 23896673 6033926 15779176 6328907 27.7527 22