From 6f899e063b6cede27883a91eae4425445eaf98ca Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 18 Nov 2024 14:31:56 -0800 Subject: [PATCH] Update readme --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 2eb9b59..c98ed6c 100644 --- a/README.md +++ b/README.md @@ -19,30 +19,30 @@ InstalledDir: /usr/lib/llvm-20/bin | ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- -| 164.92 | 6,063,693.08 | 0.0% | 3,014.03 | 829.48 | 3.634 | 504.59 | 0.0% | 1.97 | `point reads` -| 162.85 | 6,140,505.89 | 0.0% | 2,954.16 | 819.09 | 3.607 | 490.17 | 0.0% | 1.94 | `prefix reads` -| 243.06 | 4,114,132.65 | 0.0% | 3,592.41 | 1,224.74 | 2.933 | 629.31 | 0.0% | 2.90 | `range reads` -| 455.46 | 2,195,561.38 | 0.0% | 4,450.57 | 2,301.93 | 1.933 | 707.92 | 2.1% | 5.44 | `point writes` -| 454.16 | 2,201,858.08 | 0.0% | 4,410.22 | 2,295.25 | 1.921 | 694.74 | 2.1% | 5.42 | `prefix writes` -| 302.97 | 3,300,699.07 | 0.0% | 2,315.38 | 1,531.20 | 1.512 | 396.69 | 3.3% | 3.64 | `range writes` -| 493.69 | 2,025,564.75 | 0.9% | 6,999.33 | 2,493.53 | 2.807 | 1,251.74 | 1.3% | 0.06 | `monotonic increasing point writes` -| 136,298.50 | 7,336.84 | 0.9% | 807,444.50 | 693,845.50 | 1.164 | 144,584.50 | 0.9% | 0.01 | `worst case for radix tree` -| 47.68 | 20,974,738.11 | 0.7% | 902.00 | 238.47 | 3.783 | 132.00 | 0.0% | 0.01 | `create and destroy` +| 163.82 | 6,104,214.81 | 0.0% | 3,014.03 | 823.99 | 3.658 | 504.59 | 0.0% | 1.96 | `point reads` +| 160.65 | 6,224,551.06 | 0.0% | 2,954.16 | 808.03 | 3.656 | 490.17 | 0.0% | 1.92 | `prefix reads` +| 243.07 | 4,114,000.62 | 0.0% | 3,592.41 | 1,224.77 | 2.933 | 629.31 | 0.0% | 2.90 | `range reads` +| 454.64 | 2,199,540.91 | 0.1% | 4,450.57 | 2,297.43 | 1.937 | 707.92 | 2.1% | 5.43 | `point writes` +| 451.41 | 2,215,265.93 | 0.0% | 4,410.22 | 2,281.37 | 1.933 | 694.74 | 2.1% | 5.39 | `prefix writes` +| 302.92 | 3,301,213.43 | 0.0% | 2,315.38 | 1,530.92 | 1.512 | 396.69 | 3.3% | 3.60 | `range writes` +| 470.36 | 2,126,014.73 | 1.0% | 6,999.33 | 2,457.12 | 2.849 | 1,251.74 | 1.3% | 0.06 | `monotonic increasing point writes` +| 129,198.14 | 7,740.05 | 0.5% | 807,446.00 | 655,645.00 | 1.232 | 144,584.67 | 0.0% | 0.01 | `worst case for radix tree` +| 46.34 | 21,578,562.58 | 0.7% | 902.00 | 232.26 | 3.884 | 132.00 | 0.0% | 0.01 | `create and destroy` ## Radix tree (this implementation) | ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- -| 12.73 | 78,578,520.69 | 0.0% | 247.13 | 64.01 | 3.861 | 32.64 | 0.6% | 0.15 | `point reads` -| 14.48 | 69,077,363.01 | 0.1% | 299.99 | 72.83 | 4.119 | 42.50 | 0.4% | 0.17 | `prefix reads` -| 35.33 | 28,307,787.32 | 0.1% | 782.70 | 177.67 | 4.405 | 106.65 | 0.2% | 0.42 | `range reads` -| 20.64 | 48,445,877.80 | 0.0% | 376.04 | 103.84 | 3.621 | 49.97 | 0.7% | 0.25 | `point writes` -| 38.32 | 26,098,688.72 | 0.0% | 665.25 | 192.72 | 3.452 | 101.33 | 0.4% | 0.46 | `prefix writes` -| 39.46 | 25,343,458.68 | 0.0% | 732.48 | 198.44 | 3.691 | 111.75 | 0.1% | 0.48 | `range writes` -| 80.63 | 12,401,923.78 | 2.4% | 1,461.96 | 407.42 | 3.588 | 278.93 | 0.1% | 0.01 | `monotonic increasing point writes` -| 311,077.67 | 3,214.63 | 0.5% | 4,016,995.00 | 1,582,232.00 | 2.539 | 714,572.00 | 0.1% | 0.01 | `worst case for radix tree` -| 106.36 | 9,401,962.15 | 0.9% | 2,046.00 | 538.76 | 3.798 | 329.00 | 0.0% | 0.01 | `create and destroy` +| 13.00 | 76,916,274.88 | 0.1% | 247.13 | 65.16 | 3.793 | 32.64 | 0.8% | 0.16 | `point reads` +| 15.03 | 66,535,609.26 | 0.1% | 299.99 | 75.25 | 3.987 | 42.50 | 0.5% | 0.18 | `prefix reads` +| 35.65 | 28,054,245.19 | 0.0% | 782.70 | 178.41 | 4.387 | 106.65 | 0.2% | 0.43 | `range reads` +| 20.79 | 48,099,317.88 | 0.4% | 376.04 | 104.10 | 3.612 | 49.97 | 0.7% | 0.25 | `point writes` +| 45.17 | 22,137,997.58 | 0.0% | 666.07 | 227.27 | 2.931 | 101.33 | 0.3% | 0.54 | `prefix writes` +| 40.35 | 24,784,682.32 | 0.0% | 732.33 | 202.46 | 3.617 | 111.64 | 0.1% | 0.49 | `range writes` +| 79.04 | 12,651,349.21 | 2.4% | 1,462.61 | 399.37 | 3.662 | 279.17 | 0.1% | 0.01 | `monotonic increasing point writes` +| 313,894.00 | 3,185.79 | 0.3% | 4,043,060.00 | 1,585,794.00 | 2.550 | 714,828.00 | 0.1% | 0.01 | `worst case for radix tree` +| 109.01 | 9,173,544.09 | 0.5% | 2,046.00 | 547.40 | 3.738 | 329.00 | 0.0% | 0.01 | `create and destroy` # "Real data" test @@ -51,13 +51,13 @@ Point queries only. Gc ratio is the ratio of time spent doing garbage collection ## skip list ``` -Check: 4.35798 seconds, 386.919 MB/s, Add: 3.69297 seconds, 155.792 MB/s, Gc ratio: 33.6285%, Peak idle memory: 5.61007e+06 +Check: 4.65306 seconds, 362.382 MB/s, Add: 3.92107 seconds, 146.729 MB/s, Gc ratio: 33.6261%, Peak idle memory: 5.61007e+06 ``` ## radix tree ``` -Check: 1.0184 seconds, 1655.72 MB/s, Add: 1.3866 seconds, 414.924 MB/s, Gc ratio: 34.8706%, Peak idle memory: 2.32922e+06 +Check: 1.02927 seconds, 1638.24 MB/s, Add: 1.33663 seconds, 430.436 MB/s, Gc ratio: 35.3609%, Peak idle memory: 2.32922e+06 ``` ## hash table @@ -65,6 +65,6 @@ Check: 1.0184 seconds, 1655.72 MB/s, Add: 1.3866 seconds, 414.924 MB/s, Gc ratio (The hash table implementation doesn't work on range queries, and its purpose is to provide an idea of how fast point queries can be) ``` -Check: 0.855065 seconds, 1972 MB/s, Add: 0.711856 seconds, 808.219 MB/s, Gc ratio: 34.9436%, Peak idle memory: 0 +Check: 0.856661 seconds, 1968.32 MB/s, Add: 0.709563 seconds, 810.831 MB/s, Gc ratio: 35.0388%, Peak idle memory: 0 ```