@@ -234,11 +234,11 @@ Here are reference results on Apple M2 Pro.
234234
235235| Optimization | ` geolite2.City ` | ` MyCity ` | ` any.Value ` |
236236| --- | --- | --- | --- |
237- | Default | ~ 1,293 ,000 | | |
238- | Index | ~ 1,454 ,000 | ~ 1,511 ,000 | ~ 1,438 ,000 |
239- | Index + ` .only ` | ~ 1,531 ,000 | | ~ 1,528 ,000 |
240- | Index + ` Cache ` | ~ 1,650 ,000 | | |
241- | Index + ` Cache ` + ` .only ` | ~ 1,792 ,000 | | |
237+ | Default | ~ 1,326 ,000 | | |
238+ | Index | ~ 1,559 ,000 | ~ 3,875 ,000 | ~ 1,411 ,000 |
239+ | Index + ` .only ` | ~ 3,776 ,000 | | ~ 3,526 ,000 |
240+ | Index + ` Cache ` | ~ 1,725 ,000 | | |
241+ | Index + ` Cache ` + ` .only ` | ~ 4,399 ,000 | | |
242242
243243Index means ` Reader.Options{ .ipv4_index_first_n_bits = 16 } ` .
244244
@@ -259,27 +259,27 @@ $ for i in $(seq 1 10); do
259259 2>&1 | grep ' Lookups Per Second'
260260 done
261261
262- Lookups Per Second (avg):1288123.6986424406
263- Lookups Per Second (avg):1297844.4971600326
264- Lookups Per Second (avg):1299800.7833033653
265- Lookups Per Second (avg):1289163.7206031256
266- Lookups Per Second (avg):1296087.9427189995
267- Lookups Per Second (avg):1293914.0954956787
268- Lookups Per Second (avg):1304671.4413292515
269- Lookups Per Second (avg):1259770.3727349874
270- Lookups Per Second (avg):1299818.3136058154
271- Lookups Per Second (avg):1304484.7981250943
262+ Lookups Per Second (avg):1035105.6505787085
263+ Lookups Per Second (avg):1343232.5849613282
264+ Lookups Per Second (avg):1414320.3828140981
265+ Lookups Per Second (avg):1403204.5808096242
266+ Lookups Per Second (avg):1397749.6334335194
267+ Lookups Per Second (avg):1239495.4695665902
268+ Lookups Per Second (avg):1311846.2399504937
269+ Lookups Per Second (avg):1389317.1825729539
270+ Lookups Per Second (avg):1326293.074373302
271+ Lookups Per Second (avg):1397069.5070021125
272272---
273- Lookups Per Second (avg):1428547.0249066802
274- Lookups Per Second (avg):1380507.1016736578
275- Lookups Per Second (avg):1424615.0690083539
276- Lookups Per Second (avg):1479872.0734649224
277- Lookups Per Second (avg):1470581.8382631212
278- Lookups Per Second (avg):1452131.834013217
279- Lookups Per Second (avg):1441057.419112997
280- Lookups Per Second (avg):1460678.0011842097
281- Lookups Per Second (avg):1469818.5626422924
282- Lookups Per Second (avg):1427603.971951151
273+ Lookups Per Second (avg):1609554.3144103398
274+ Lookups Per Second (avg):1551616.3615884783
275+ Lookups Per Second (avg):1562781.5253244028
276+ Lookups Per Second (avg):1549749.8760265964
277+ Lookups Per Second (avg):1553338.1374043243
278+ Lookups Per Second (avg):1606371.620343102
279+ Lookups Per Second (avg):1462599.8590053734
280+ Lookups Per Second (avg):1531200.7025148824
281+ Lookups Per Second (avg):1575262.394410654
282+ Lookups Per Second (avg):1589061.3264260693
283283```
284284
285285</details >
@@ -301,27 +301,27 @@ $ for i in $(seq 1 10); do
301301 2>&1 | grep ' Lookups Per Second'
302302 done
303303
304- Lookups Per Second (avg):1428547.0249066802
305- Lookups Per Second (avg):1380507.1016736578
306- Lookups Per Second (avg):1424615.0690083539
307- Lookups Per Second (avg):1479872.0734649224
308- Lookups Per Second (avg):1470581.8382631212
309- Lookups Per Second (avg):1452131.834013217
310- Lookups Per Second (avg):1441057.419112997
311- Lookups Per Second (avg):1460678.0011842097
312- Lookups Per Second (avg):1469818.5626422924
313- Lookups Per Second (avg):1427603.971951151
304+ Lookups Per Second (avg):1609554.3144103398
305+ Lookups Per Second (avg):1551616.3615884783
306+ Lookups Per Second (avg):1562781.5253244028
307+ Lookups Per Second (avg):1549749.8760265964
308+ Lookups Per Second (avg):1553338.1374043243
309+ Lookups Per Second (avg):1606371.620343102
310+ Lookups Per Second (avg):1462599.8590053734
311+ Lookups Per Second (avg):1531200.7025148824
312+ Lookups Per Second (avg):1575262.394410654
313+ Lookups Per Second (avg):1589061.3264260693
314314---
315- Lookups Per Second (avg):1480631.763363951
316- Lookups Per Second (avg):1547402.0513766634
317- Lookups Per Second (avg):1522023.2008449882
318- Lookups Per Second (avg):1512118.8782619492
319- Lookups Per Second (avg):1507072.3128425558
320- Lookups Per Second (avg):1524512.3489753657
321- Lookups Per Second (avg):1564611.0025010307
322- Lookups Per Second (avg):1518824.4053660445
323- Lookups Per Second (avg):1559368.5734912506
324- Lookups Per Second (avg):1571173.0594097849
315+ Lookups Per Second (avg):3837828.091414087
316+ Lookups Per Second (avg):3863406.691132952
317+ Lookups Per Second (avg):3631899.1474487204
318+ Lookups Per Second (avg):3868374.68303505
319+ Lookups Per Second (avg):3817877.0773159857
320+ Lookups Per Second (avg):3989842.515290244
321+ Lookups Per Second (avg):3538369.0460390393
322+ Lookups Per Second (avg):3722414.586061188
323+ Lookups Per Second (avg):3635122.737647285
324+ Lookups Per Second (avg):3859718.5300261974
325325```
326326
327327</details >
@@ -336,16 +336,16 @@ $ for i in $(seq 1 10); do
336336 2>&1 | grep ' Lookups Per Second'
337337 done
338338
339- Lookups Per Second (avg):1621097.9412664056
340- Lookups Per Second (avg):1643755.6794738034
341- Lookups Per Second (avg):1689941.621422972
342- Lookups Per Second (avg):1619515.4855034132
343- Lookups Per Second (avg):1635409.8950475699
344- Lookups Per Second (avg):1667425.4591913386
345- Lookups Per Second (avg):1624120.681573548
346- Lookups Per Second (avg):1663304.0203721477
347- Lookups Per Second (avg):1669982.860181014
348- Lookups Per Second (avg):1667252.0583156152
339+ Lookups Per Second (avg):1652482.1728157594
340+ Lookups Per Second (avg):1804678.8566034087
341+ Lookups Per Second (avg):1719533.2374486062
342+ Lookups Per Second (avg):1694836.616690878
343+ Lookups Per Second (avg):1736597.144251784
344+ Lookups Per Second (avg):1755151.149229094
345+ Lookups Per Second (avg):1767479.3964661632
346+ Lookups Per Second (avg):1802208.2468461858
347+ Lookups Per Second (avg):1643340.813272935
348+ Lookups Per Second (avg):1678393.1576825297
349349```
350350
351351</details >
@@ -360,16 +360,16 @@ $ for i in $(seq 1 10); do
360360 2>&1 | grep ' Lookups Per Second'
361361 done
362362
363- Lookups Per Second (avg):1778201.5145052548
364- Lookups Per Second (avg):1843785.5733650513
365- Lookups Per Second (avg):1775074.2749654094
366- Lookups Per Second (avg):1787008.1402384518
367- Lookups Per Second (avg):1673250.9089935562
368- Lookups Per Second (avg):1780556.2368656157
369- Lookups Per Second (avg):1795938.4381684947
370- Lookups Per Second (avg):1796003.7580157353
371- Lookups Per Second (avg):1853067.3542248248
372- Lookups Per Second (avg):1837493.7370404094
363+ Lookups Per Second (avg):4655800.5527301235
364+ Lookups Per Second (avg):4292970.178049822
365+ Lookups Per Second (avg):4623904.14454354
366+ Lookups Per Second (avg):4447315.433629933
367+ Lookups Per Second (avg):4507954.856600761
368+ Lookups Per Second (avg):4311083.472275961
369+ Lookups Per Second (avg):4367167.417000619
370+ Lookups Per Second (avg):4717858.319912245
371+ Lookups Per Second (avg):4063137.087197969
372+ Lookups Per Second (avg):3997879.1251241216
373373```
374374
375375</details >
@@ -384,16 +384,16 @@ $ for i in $(seq 1 10); do
384384 2>&1 | grep ' Lookups Per Second'
385385 done
386386
387- Lookups Per Second (avg):1538491.815980477
388- Lookups Per Second (avg):1517054.8236260759
389- Lookups Per Second (avg):1557013.2507370606
390- Lookups Per Second (avg):1536283.169286917
391- Lookups Per Second (avg):1493722.1650662713
392- Lookups Per Second (avg):1422596.100204022
393- Lookups Per Second (avg):1578921.6062375184
394- Lookups Per Second (avg):1506038.555716555
395- Lookups Per Second (avg):1446028.78250593
396- Lookups Per Second (avg):1517982.1124964976
387+ Lookups Per Second (avg):3574868.3224958642
388+ Lookups Per Second (avg):3712462.9437726922
389+ Lookups Per Second (avg):4215673.875468994
390+ Lookups Per Second (avg):3785552.852435273
391+ Lookups Per Second (avg):4096116.7391959913
392+ Lookups Per Second (avg):3790834.4038207424
393+ Lookups Per Second (avg):4150497.7283101534
394+ Lookups Per Second (avg):3614017.509011327
395+ Lookups Per Second (avg):4065847.0764656705
396+ Lookups Per Second (avg):3743099.2409548718
397397```
398398
399399</details >
@@ -415,27 +415,27 @@ $ for i in $(seq 1 10); do
415415 2>&1 | grep ' Lookups Per Second'
416416 done
417417
418- Lookups Per Second (avg):1349487.9036850187
419- Lookups Per Second (avg):1474607.7166711385
420- Lookups Per Second (avg):1450025.6791572636
421- Lookups Per Second (avg):1393922.5795159582
422- Lookups Per Second (avg):1445392.2657224636
423- Lookups Per Second (avg):1434162.4432459075
424- Lookups Per Second (avg):1445543.9211354603
425- Lookups Per Second (avg):1444219.8956908425
426- Lookups Per Second (avg):1419883.9356485484
427- Lookups Per Second (avg):1417836.1303990977
418+ Lookups Per Second (avg):1372488.367732181
419+ Lookups Per Second (avg):1381428.2973413563
420+ Lookups Per Second (avg):1436810.2525032377
421+ Lookups Per Second (avg):1298657.7295777556
422+ Lookups Per Second (avg):1435992.605534141
423+ Lookups Per Second (avg):1390345.613850623
424+ Lookups Per Second (avg):1481108.8279176715
425+ Lookups Per Second (avg):1429234.491287208
426+ Lookups Per Second (avg):1444525.002072749
427+ Lookups Per Second (avg):1443027.1238867515
428428---
429- Lookups Per Second (avg):1465955.9223703041
430- Lookups Per Second (avg):1555487.9502469338
431- Lookups Per Second (avg):1535026.522234302
432- Lookups Per Second (avg):1517282.513153197
433- Lookups Per Second (avg):1538161.4005770471
434- Lookups Per Second (avg):1566922.985338839
435- Lookups Per Second (avg):1568882.0602355888
436- Lookups Per Second (avg):1536738.9132451336
437- Lookups Per Second (avg):1549521.6473272059
438- Lookups Per Second (avg):1448953.6358135713
429+ Lookups Per Second (avg):3711973.1550101433
430+ Lookups Per Second (avg):3450866.4870384834
431+ Lookups Per Second (avg):3503674.1945138867
432+ Lookups Per Second (avg):3561013.662053258
433+ Lookups Per Second (avg):3531490.6660123705
434+ Lookups Per Second (avg):3568312.1477823895
435+ Lookups Per Second (avg):3414696.5486716116
436+ Lookups Per Second (avg):3463143.9870786774
437+ Lookups Per Second (avg):3446752.06486644
438+ Lookups Per Second (avg):3607881.6020832886
439439```
440440
441441</details >
@@ -444,12 +444,12 @@ Lookups Per Second (avg):1448953.6358135713
444444
445445Full GeoLite2-City scan using ` any.Value ` .
446446
447- | Optimization | ` any.Value ` |
448- | --- | --- |
449- | Default | ~ 1,295 ,000 |
450- | ` .only ` | ~ 1,458 ,000 |
451- | ` Cache ` | ~ 2,455 ,000 |
452- | ` Cache ` + ` .only ` | ~ 3,463 ,000 |
447+ | Optimization | ` any.Value ` |
448+ | --- | --- |
449+ | Default | ~ 1,251 ,000 |
450+ | ` .only ` | ~ 3,985 ,000 |
451+ | ` Cache ` | ~ 2,941 ,000 |
452+ | ` Cache ` + ` .only ` | ~ 8,684 ,000 |
453453
454454<details >
455455
@@ -468,27 +468,27 @@ $ for i in $(seq 1 10); do
468468 2>&1 | grep ' Records Per Second'
469469 done
470470
471- Records Per Second: 1286608.969567542
472- Records Per Second: 1295843.0532171922
473- Records Per Second: 1299430.7275630098
474- Records Per Second: 1293056.1891340162
475- Records Per Second: 1297424.4160547797
476- Records Per Second: 1299599.593210179
477- Records Per Second: 1296055.3662371547
478- Records Per Second: 1293770.8917179666
479- Records Per Second: 1296683.084988625
480- Records Per Second: 1294042.5025624551
471+ Records Per Second: 1242452.4123182923
472+ Records Per Second: 1243499.0105694628
473+ Records Per Second: 1256255.1086560711
474+ Records Per Second: 1258270.5852588415
475+ Records Per Second: 1258737.4840462913
476+ Records Per Second: 1240246.776441071
477+ Records Per Second: 1254978.5706566381
478+ Records Per Second: 1256865.6957137983
479+ Records Per Second: 1254152.8936018357
480+ Records Per Second: 1243770.9953847837
481481---
482- Records Per Second: 1453867.3129307455
483- Records Per Second: 1461263.840886964
484- Records Per Second: 1457367.244735448
485- Records Per Second: 1457043.3486106358
486- Records Per Second: 1461137.9718384417
487- Records Per Second: 1458449.0786374495
488- Records Per Second: 1455565.253714005
489- Records Per Second: 1460540.094927675
490- Records Per Second: 1454875.141172453
491- Records Per Second: 1458530.6343777399
482+ Records Per Second: 4038297.649537256
483+ Records Per Second: 3980863.123692981
484+ Records Per Second: 3987337.158356897
485+ Records Per Second: 3961305.225122879
486+ Records Per Second: 3916544.091235813
487+ Records Per Second: 3976104.5463913656
488+ Records Per Second: 4030883.5208862103
489+ Records Per Second: 3942161.4397791903
490+ Records Per Second: 4013103.2605841225
491+ Records Per Second: 4008183.3987511103
492492```
493493
494494</details >
@@ -510,27 +510,27 @@ $ for i in $(seq 1 10); do
510510 2>&1 | grep ' Records Per Second'
511511 done
512512
513- Records Per Second: 2456181.6827736874
514- Records Per Second: 2460551.0497955345
515- Records Per Second: 2464874.3375610826
516- Records Per Second: 2462940.773846509
517- Records Per Second: 2448205.1643172107
518- Records Per Second: 2462645.62772618
519- Records Per Second: 2448077.631411299
520- Records Per Second: 2454071.3112366917
521- Records Per Second: 2441321.7258892707
522- Records Per Second: 2449213.043913177
513+ Records Per Second: 2854843.2443026598
514+ Records Per Second: 2973037.4280465073
515+ Records Per Second: 2964057.4398981016
516+ Records Per Second: 2965855.6226585647
517+ Records Per Second: 2968159.7253859886
518+ Records Per Second: 2922091.105699196
519+ Records Per Second: 2946091.688041803
520+ Records Per Second: 2954772.8941297107
521+ Records Per Second: 2980153.3473268477
522+ Records Per Second: 2883343.2081189225
523523---
524- Records Per Second: 3458689.2169479122
525- Records Per Second: 3460744.848789136
526- Records Per Second: 3464104.521198864
527- Records Per Second: 3470945.186361765
528- Records Per Second: 3440523.702543425
529- Records Per Second: 3448881.855919776
530- Records Per Second: 3461577.9857890424
531- Records Per Second: 3479900.251019196
532- Records Per Second: 3472727.724310288
533- Records Per Second: 3467312.0330495955
524+ Records Per Second: 8357092.292734527
525+ Records Per Second: 8731200.670444885
526+ Records Per Second: 8764048.778310044
527+ Records Per Second: 8708447.640573917
528+ Records Per Second: 8675092.065399949
529+ Records Per Second: 8741972.179699976
530+ Records Per Second: 8711490.068666434
531+ Records Per Second: 8715545.166671745
532+ Records Per Second: 8708163.382388143
533+ Records Per Second: 8722572.467671666
534534```
535535
536536</details >
0 commit comments