-
Notifications
You must be signed in to change notification settings - Fork 1
Comment
This implementation does not use a Tree interface which implemented by LLRB based interval tree and B-Tree based interval tree because such an indirection will cause more memory allocations. Instead, it choose LLRB implementation or B-tree implementation based on tags given at build time. The only difference between the old LLRB implementation and the new LLRB implementation is that Overlapper is struct instead of a function in the new LLRB implementation. Compared with the old B-tree implementation, the new B-tree implementation removes the use of FreeList, which reduces the allocations.
In all the following report, the first column is for the LLRB implementation in issue-6465-opt branch. The second column is for the B-tree implementation in issue-6465-opt branch. When btree tag is used, B-tree implementation will be used.
The benchmarks are defined in https://github.com/yaojingguo/benchmark-interval-tree. The following reports are produced by running benchstat on the result of executing b.sh with some irrelevant reports removed.
The report shows that there is no clear winner for tree size 4. But for all bigger tree sizes, B-tree is better than LLRB. NewTree for B-tree is more expensive than for LLB since B-tree has an additional field Degree.
name old time/op new time/op delta
NewTree-4 89.5ns ± 6% 285.2ns ± 1% +218.61% (p=0.000 n=10+9)
Insert4-4 1.18µs ±21% 1.33µs ± 6% +12.62% (p=0.004 n=10+10)
FastInsert4-4 1.15µs ±10% 1.40µs ±17% +22.07% (p=0.000 n=10+10)
Delete4-4 2.19µs ± 3% 2.72µs ± 5% +24.37% (p=0.000 n=8+8)
Get4-4 3.61µs ± 8% 2.80µs ± 5% -22.44% (p=0.000 n=10+8)
Insert8-4 2.83µs ± 4% 2.55µs ± 6% -9.88% (p=0.000 n=10+9)
FastInsert8-4 2.53µs ± 4% 2.50µs ±10% ~ (p=0.382 n=10+10)
Delete8-4 5.29µs ± 7% 5.38µs ±11% ~ (p=0.549 n=9+10)
Get8-4 13.5µs ±20% 8.5µs ± 7% -37.24% (p=0.000 n=10+10)
Insert100-4 74.0µs ±14% 48.6µs ±12% -34.34% (p=0.000 n=10+10)
FastInsert100-4 50.7µs ± 9% 44.4µs ± 8% -12.43% (p=0.000 n=9+10)
Delete100-4 150µs ± 9% 101µs ± 7% -32.53% (p=0.000 n=10+9)
Get100-4 489µs ±13% 286µs ± 8% -41.58% (p=0.000 n=10+10)
Insert1K-4 1.03ms ± 1% 0.69ms ±10% -32.21% (p=0.000 n=7+10)
FastInsert1K-4 705µs ± 5% 643µs ± 9% -8.82% (p=0.000 n=9+10)
Delete1K-4 2.40ms ± 7% 1.40ms ± 3% -41.50% (p=0.000 n=10+9)
Get1K-4 5.81ms ± 6% 3.84ms ± 8% -33.87% (p=0.000 n=9+9)
Insert10K-4 14.4ms ± 7% 9.9ms ±10% -31.27% (p=0.000 n=10+9)
FastInsert10K-4 10.0ms ± 8% 9.7ms ±12% ~ (p=0.436 n=10+10)
Delete10K-4 36.5ms ± 6% 20.4ms ± 9% -44.05% (p=0.000 n=10+10)
Get10K-4 69.5ms ±10% 47.0ms ± 7% -32.46% (p=0.000 n=9+9)
Insert100K-4 162ms ± 4% 108ms ± 5% -33.07% (p=0.000 n=10+9)
FastInsert100K-4 110ms ± 3% 106ms ± 4% -4.20% (p=0.002 n=10+9)
Delete100K-4 459ms ± 2% 242ms ± 5% -47.36% (p=0.000 n=9+10)
Get100K-4 691ms ± 4% 516ms ± 6% -25.23% (p=0.000 n=10+10)
Insert1M-4 1.90s ± 2% 1.29s ± 4% -32.50% (p=0.000 n=9+9)
FastInsert1M-4 1.20s ± 2% 1.20s ± 3% ~ (p=0.573 n=10+8)
Delete1M-4 5.64s ± 9% 2.82s ± 9% -49.99% (p=0.000 n=10+10)
Get1M-4 7.21s ± 3% 5.82s ± 4% -19.27% (p=0.000 n=10+10)
RandomInsert4-4 1.77µs ±12% 1.52µs ± 5% -14.24% (p=0.000 n=10+8)
RandomFastInsert4-4 1.72µs ±17% 1.50µs ± 9% -12.52% (p=0.003 n=10+10)
RandomDelete4-4 2.51µs ±16% 2.75µs ± 8% +9.57% (p=0.007 n=10+10)
RandomGet4-4 3.21µs ±29% 2.77µs ±39% ~ (p=0.101 n=10+10)
RandomInsert8-4 4.08µs ±13% 2.82µs ±14% -30.99% (p=0.000 n=10+10)
RandomFastInsert8-4 3.73µs ±10% 2.82µs ± 4% -24.39% (p=0.000 n=10+8)
RandomDelete8-4 6.58µs ±19% 5.76µs ±11% -12.48% (p=0.003 n=10+10)
RandomGet8-4 12.8µs ±13% 8.9µs ±18% -30.18% (p=0.000 n=9+9)
RandomInsert100-4 94.6µs ± 9% 63.5µs ± 8% -32.92% (p=0.000 n=9+10)
RandomFastInsert100-4 69.3µs ± 7% 60.6µs ± 7% -12.60% (p=0.000 n=10+10)
RandomDelete100-4 194µs ± 7% 120µs ± 9% -37.97% (p=0.000 n=10+10)
RandomGet100-4 2.12ms ±10% 1.19ms ±13% -43.66% (p=0.000 n=10+10)
RandomInsert1K-4 1.64ms ±10% 1.01ms ± 6% -38.03% (p=0.000 n=9+10)
RandomFastInsert1K-4 1.20ms ± 6% 0.96ms ± 4% -19.86% (p=0.000 n=8+10)
RandomDelete1K-4 3.50ms ±10% 2.03ms ± 5% -41.86% (p=0.000 n=10+10)
RandomGet1K-4 246ms ±11% 134ms ± 7% -45.54% (p=0.000 n=10+9)
RandomInsert10K-4 26.7ms ± 9% 16.0ms ± 5% -40.24% (p=0.000 n=10+8)
RandomFastInsert10K-4 18.7ms ± 6% 15.7ms ±11% -15.95% (p=0.000 n=10+10)
RandomDelete10K-4 60.4ms ± 7% 36.3ms ± 9% -39.88% (p=0.000 n=10+10)
RandomGet10K-4 31.3s ±16% 14.6s ± 8% -53.30% (p=0.000 n=10+10)
RandomInsert100K-4 578ms ±12% 398ms ±24% -31.17% (p=0.000 n=10+10)
RandomFastInsert100K-4 441ms ±22% 378ms ±16% -14.25% (p=0.011 n=10+10)
RandomDelete100K-4 1.35s ± 8% 0.79s ±14% -41.33% (p=0.000 n=10+10)
RandomInsert1M-4 12.7s ±11% 8.4s ±16% -34.28% (p=0.000 n=10+10)
RandomFastInsert1M-4 8.83s ±10% 7.98s ±21% -9.64% (p=0.043 n=9+10)
RandomDelete1M-4 27.4s ± 8% 16.7s ±18% -39.09% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
NewTree-4 0.00B ±NaN% 0.00B ±NaN% ~ (all samples are equal)
Insert4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
FastInsert4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
Delete4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
Get4-4 448B ± 0% 448B ± 0% ~ (all samples are equal)
Insert8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
FastInsert8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
Delete8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
Get8-4 1.92kB ± 0% 1.92kB ± 0% ~ (all samples are equal)
Insert100-4 9.60kB ± 0% 5.70kB ± 0% -40.67% (p=0.000 n=10+10)
FastInsert100-4 9.60kB ± 0% 5.70kB ± 0% -40.67% (p=0.000 n=10+10)
Delete100-4 9.60kB ± 0% 5.70kB ± 0% -40.67% (p=0.000 n=10+10)
Get100-4 94.7kB ± 0% 94.7kB ± 0% ~ (all samples are equal)
Insert1K-4 96.0kB ± 0% 53.2kB ± 0% -44.53% (p=0.000 n=10+10)
FastInsert1K-4 96.0kB ± 0% 53.2kB ± 0% -44.53% (p=0.000 n=10+10)
Delete1K-4 96.0kB ± 0% 53.2kB ± 0% -44.53% (p=0.000 n=10+10)
Get1K-4 1.00MB ± 0% 1.00MB ± 0% ~ (all samples are equal)
Insert10K-4 960kB ± 0% 538kB ± 0% -43.98% (p=0.000 n=10+10)
FastInsert10K-4 960kB ± 0% 538kB ± 0% -43.98% (p=0.000 n=10+10)
Delete10K-4 960kB ± 0% 538kB ± 0% -43.98% (p=0.000 n=10+10)
Get10K-4 10.1MB ± 0% 10.1MB ± 0% ~ (all samples are equal)
Insert100K-4 9.60MB ± 0% 5.39MB ± 0% -43.81% (p=0.000 n=10+10)
FastInsert100K-4 9.60MB ± 0% 5.39MB ± 0% -43.81% (p=0.000 n=10+10)
Delete100K-4 9.60MB ± 0% 5.39MB ± 0% -43.81% (p=0.000 n=10+10)
Get100K-4 101MB ± 0% 101MB ± 0% ~ (all samples are equal)
Insert1M-4 96.0MB ± 0% 53.9MB ± 0% -43.82% (p=0.000 n=10+10)
FastInsert1M-4 96.0MB ± 0% 53.9MB ± 0% -43.82% (p=0.000 n=10+10)
Delete1M-4 96.0MB ± 0% 53.9MB ± 0% -43.82% (p=0.000 n=10+10)
Get1M-4 1.01GB ± 0% 1.01GB ± 0% ~ (all samples are equal)
RandomInsert4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
RandomFastInsert4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
RandomDelete4-4 384B ± 0% 272B ± 0% -29.17% (p=0.000 n=10+10)
RandomGet4-4 323B ±60% 390B ±67% ~ (p=0.117 n=10+10)
RandomInsert8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
RandomFastInsert8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
RandomDelete8-4 768B ± 0% 400B ± 0% -47.92% (p=0.000 n=10+10)
RandomGet8-4 1.60kB ±16% 1.65kB ±38% ~ (p=0.409 n=9+10)
RandomInsert100-4 9.60kB ± 0% 3.98kB ± 0% -58.50% (p=0.000 n=10+10)
RandomFastInsert100-4 9.60kB ± 0% 3.98kB ± 0% -58.50% (p=0.000 n=10+10)
RandomDelete100-4 9.60kB ± 0% 3.98kB ± 0% -58.50% (p=0.000 n=10+10)
RandomGet100-4 309kB ±10% 319kB ±12% ~ (p=0.342 n=10+10)
RandomInsert1K-4 96.0kB ± 0% 39.3kB ±10% -59.04% (p=0.000 n=10+10)
RandomFastInsert1K-4 96.0kB ± 0% 39.2kB ± 7% -59.21% (p=0.000 n=10+10)
RandomDelete1K-4 96.0kB ± 0% 39.8kB ± 6% -58.58% (p=0.000 n=10+9)
RandomGet1K-4 28.6MB ± 3% 28.5MB ± 3% ~ (p=0.986 n=10+10)
RandomInsert10K-4 960kB ± 0% 378kB ± 3% -60.66% (p=0.000 n=10+10)
RandomFastInsert10K-4 960kB ± 0% 376kB ± 4% -60.79% (p=0.000 n=10+10)
RandomDelete10K-4 960kB ± 0% 382kB ± 5% -60.16% (p=0.000 n=10+10)
RandomGet10K-4 4.65GB ± 1% 4.64GB ± 1% ~ (p=0.529 n=10+10)
RandomInsert100K-4 9.60MB ± 0% 3.79MB ± 1% -60.47% (p=0.000 n=10+10)
RandomFastInsert100K-4 9.60MB ± 0% 3.81MB ± 1% -60.36% (p=0.000 n=10+10)
RandomDelete100K-4 9.60MB ± 0% 3.85MB ± 1% -59.92% (p=0.000 n=10+10)
RandomInsert1M-4 96.0MB ± 0% 37.9MB ± 0% -60.51% (p=0.000 n=10+10)
RandomFastInsert1M-4 96.0MB ± 0% 37.9MB ± 0% -60.52% (p=0.000 n=10+10)
RandomDelete1M-4 96.0MB ± 0% 38.3MB ± 0% -60.11% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
NewTree-4 0.00 ±NaN% 0.00 ±NaN% ~ (all samples are equal)
Insert4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
FastInsert4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
Delete4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
Get4-4 12.0 ± 0% 12.0 ± 0% ~ (all samples are equal)
Insert8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
FastInsert8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
Delete8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
Get8-4 32.0 ± 0% 32.0 ± 0% ~ (all samples are equal)
Insert100-4 100 ± 0% 20 ± 0% -80.00% (p=0.000 n=10+10)
FastInsert100-4 100 ± 0% 20 ± 0% -80.00% (p=0.000 n=10+10)
Delete100-4 100 ± 0% 20 ± 0% -80.00% (p=0.000 n=10+10)
Get100-4 588 ± 0% 588 ± 0% ~ (all samples are equal)
Insert1K-4 1.00k ± 0% 0.11k ± 0% -88.90% (p=0.000 n=10+10)
FastInsert1K-4 1.00k ± 0% 0.11k ± 0% -88.90% (p=0.000 n=10+10)
Delete1K-4 1.00k ± 0% 0.11k ± 0% -88.90% (p=0.000 n=10+10)
Get1K-4 5.99k ± 0% 5.99k ± 0% ~ (all samples are equal)
Insert10K-4 10.0k ± 0% 1.0k ± 0% -89.95% (p=0.000 n=10+10)
FastInsert10K-4 10.0k ± 0% 1.0k ± 0% -89.95% (p=0.000 n=10+10)
Delete10K-4 10.0k ± 0% 1.0k ± 0% -89.95% (p=0.000 n=10+10)
Get10K-4 60.0k ± 0% 60.0k ± 0% ~ (all samples are equal)
Insert100K-4 100k ± 0% 10k ± 0% -90.10% (p=0.000 n=10+10)
FastInsert100K-4 100k ± 0% 10k ± 0% -90.10% (p=0.000 n=10+10)
Delete100K-4 100k ± 0% 10k ± 0% -90.10% (p=0.000 n=10+10)
Get100K-4 600k ± 0% 600k ± 0% ~ (all samples are equal)
Insert1M-4 1.00M ± 0% 0.10M ± 0% -90.12% (p=0.000 n=10+10)
FastInsert1M-4 1.00M ± 0% 0.10M ± 0% -90.12% (p=0.000 n=10+10)
Delete1M-4 1.00M ± 0% 0.10M ± 0% -90.12% (p=0.000 n=10+10)
Get1M-4 6.00M ± 0% 6.00M ± 0% ~ (all samples are equal)
RandomInsert4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
RandomFastInsert4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
RandomDelete4-4 4.00 ± 0% 5.00 ± 0% +25.00% (p=0.000 n=10+10)
RandomGet4-4 9.70 ±38% 11.56 ±13% +19.13% (p=0.018 n=10+9)
RandomInsert8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
RandomFastInsert8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
RandomDelete8-4 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10)
RandomGet8-4 29.1 ± 7% 30.1 ±17% ~ (p=0.169 n=9+9)
RandomInsert100-4 100 ± 0% 15 ± 0% -85.00% (p=0.000 n=10+10)
RandomFastInsert100-4 100 ± 0% 15 ± 0% -85.00% (p=0.000 n=10+10)
RandomDelete100-4 100 ± 0% 15 ± 0% -85.00% (p=0.000 n=10+10)
RandomGet100-4 747 ± 3% 753 ± 3% ~ (p=0.270 n=10+10)
RandomInsert1K-4 1.00k ± 0% 0.09k ± 8% -91.40% (p=0.000 n=10+10)
RandomFastInsert1K-4 1.00k ± 0% 0.09k ± 6% -91.43% (p=0.000 n=10+10)
RandomDelete1K-4 1.00k ± 0% 0.09k ± 4% -91.34% (p=0.000 n=10+9)
RandomGet1K-4 10.7k ± 1% 10.7k ± 0% ~ (p=1.000 n=10+10)
RandomInsert10K-4 10.0k ± 0% 0.7k ± 3% -92.92% (p=0.000 n=10+9)
RandomFastInsert10K-4 10.0k ± 0% 0.7k ± 5% -92.91% (p=0.000 n=10+10)
RandomDelete10K-4 10.0k ± 0% 0.7k ± 4% -92.83% (p=0.000 n=10+10)
RandomGet10K-4 177k ± 0% 177k ± 0% ~ (p=0.393 n=10+10)
RandomInsert100K-4 100k ± 0% 7k ± 1% -93.00% (p=0.000 n=10+10)
RandomFastInsert100K-4 100k ± 0% 7k ± 1% -92.98% (p=0.000 n=10+10)
RandomDelete100K-4 100k ± 0% 7k ± 1% -92.94% (p=0.000 n=10+10)
RandomInsert1M-4 1.00M ± 0% 0.07M ± 0% -93.03% (p=0.000 n=10+10)
RandomFastInsert1M-4 1.00M ± 0% 0.07M ± 0% -93.04% (p=0.000 n=10+9)
RandomDelete1M-4 1.00M ± 0% 0.07M ± 0% -92.99% (p=0.000 n=10+10)
The report shows that B-tree is slightly better than LLRB. This report is consistent with micro benchmarks because these tests use small tree sizes. For example, the max tree used by Insert100_Cockroach is about 50.
name old time/op new time/op delta
Insert100_Cockroach-4 2.64ms ±33% 2.65ms ±23% ~ (p=0.739 n=10+10)
Insert1000_Cockroach-4 16.6ms ±11% 16.7ms ± 7% ~ (p=0.905 n=10+9)
Update100_Cockroach-4 6.46ms ±19% 6.60ms ±16% ~ (p=0.529 n=10+10)
Update1000_Cockroach-4 46.4ms ±11% 47.3ms ±10% ~ (p=0.631 n=10+10)
Upsert100_Cockroach-4 8.49ms ± 8% 8.86ms ±12% ~ (p=0.447 n=9+10)
Upsert1000_Cockroach-4 53.9ms ± 6% 57.3ms ± 8% +6.28% (p=0.010 n=9+10)
Delete100_Cockroach-4 3.00ms ±10% 2.94ms ± 6% ~ (p=0.400 n=10+9)
Delete1000_Cockroach-4 22.3ms ± 9% 21.4ms ± 8% ~ (p=0.136 n=9+9)
Scan100_Cockroach-4 630µs ±11% 646µs ±12% ~ (p=0.481 n=10+10)
Scan1000_Cockroach-4 3.45ms ±17% 3.34ms ±11% ~ (p=0.400 n=9+10)
Scan10000_Cockroach-4 34.3ms ±23% 31.6ms ± 1% ~ (p=0.417 n=10+7)
Scan1000Limit100_Cockroach-4 713µs ±24% 646µs ±13% ~ (p=0.053 n=10+9)
InterleavedSelect1000_Cockroach-4 116ms ±10% 113ms ±17% ~ (p=0.353 n=10+10)
TrackChoices100_Cockroach-4 98.3µs ±13% 96.8µs ±28% ~ (p=0.573 n=8+10)
TrackChoices1000_Cockroach-4 79.1µs ±10% 75.6µs ± 7% ~ (p=0.095 n=9+10)
InsertDistinct100_Cockroach-4 3.04ms ±22% 2.62ms ±32% -13.75% (p=0.022 n=10+9)
WideTable100_Cockroach-4 21.3ms ±11% 21.4ms ±23% ~ (p=0.730 n=9+9)
WideTable1000_Cockroach-4 165ms ± 8% 168ms ±23% ~ (p=0.497 n=9+10)
name old alloc/op new alloc/op delta
Insert100_Cockroach-4 530kB ± 0% 529kB ± 0% ~ (p=0.297 n=9+9)
Insert1000_Cockroach-4 4.59MB ± 0% 4.59MB ± 0% ~ (p=0.200 n=8+9)
Update100_Cockroach-4 849kB ± 0% 848kB ± 0% -0.19% (p=0.000 n=10+9)
Update1000_Cockroach-4 7.03MB ± 0% 7.01MB ± 0% -0.32% (p=0.000 n=8+9)
Upsert100_Cockroach-4 938kB ± 0% 935kB ± 0% -0.30% (p=0.000 n=10+10)
Upsert1000_Cockroach-4 7.81MB ± 1% 7.82MB ± 1% ~ (p=0.912 n=10+10)
Delete100_Cockroach-4 166kB ± 2% 165kB ± 1% ~ (p=0.143 n=10+10)
Delete1000_Cockroach-4 1.17MB ± 0% 1.17MB ± 0% ~ (p=0.606 n=8+9)
Scan100_Cockroach-4 53.9kB ± 0% 53.8kB ± 0% -0.19% (p=0.000 n=8+9)
Scan1000_Cockroach-4 321kB ± 0% 321kB ± 0% -0.03% (p=0.000 n=9+10)
Scan10000_Cockroach-4 5.53MB ± 0% 5.53MB ± 0% -0.00% (p=0.007 n=10+10)
Scan1000Limit100_Cockroach-4 54.3kB ± 0% 54.3kB ± 0% -0.18% (p=0.000 n=10+10)
InterleavedSelect1000_Cockroach-4 792kB ± 0% 792kB ± 0% -0.02% (p=0.001 n=8+8)
TrackChoices100_Cockroach-4 19.1kB ± 1% 19.1kB ± 0% +0.45% (p=0.036 n=10+8)
TrackChoices1000_Cockroach-4 20.5kB ± 0% 20.5kB ± 0% ~ (p=0.986 n=10+9)
InsertDistinct100_Cockroach-4 458kB ± 9% 432kB ± 1% -5.75% (p=0.002 n=10+8)
WideTable100_Cockroach-4 2.61MB ± 0% 2.61MB ± 0% ~ (p=0.075 n=10+10)
WideTable1000_Cockroach-4 23.5MB ± 0% 23.5MB ± 0% -0.16% (p=0.000 n=9+9)
name old allocs/op new allocs/op delta
Insert100_Cockroach-4 2.49k ± 0% 2.49k ± 0% ~ (p=0.185 n=9+10)
Insert1000_Cockroach-4 21.5k ± 0% 21.5k ± 0% ~ (p=0.055 n=8+9)
Update100_Cockroach-4 3.75k ± 0% 3.71k ± 0% -0.87% (p=0.000 n=10+9)
Update1000_Cockroach-4 29.7k ± 0% 29.4k ± 0% -1.01% (p=0.000 n=8+9)
Upsert100_Cockroach-4 5.95k ± 0% 5.90k ± 0% -0.85% (p=0.000 n=9+10)
Upsert1000_Cockroach-4 45.1k ± 0% 44.6k ± 0% -1.12% (p=0.000 n=9+10)
Delete100_Cockroach-4 1.74k ± 0% 1.74k ± 0% -0.21% (p=0.045 n=10+10)
Delete1000_Cockroach-4 12.6k ± 0% 12.6k ± 0% -0.02% (p=0.000 n=9+10)
Scan100_Cockroach-4 466 ± 0% 465 ± 0% -0.21% (p=0.002 n=8+10)
Scan1000_Cockroach-4 2.35k ± 0% 2.35k ± 0% -0.04% (p=0.000 n=10+9)
Scan10000_Cockroach-4 21.1k ± 0% 21.1k ± 0% ~ (p=0.131 n=9+8)
Scan1000Limit100_Cockroach-4 474 ± 0% 473 ± 0% -0.21% (p=0.000 n=10+10)
InterleavedSelect1000_Cockroach-4 3.03k ± 0% 3.03k ± 0% -0.06% (p=0.000 n=10+10)
TrackChoices100_Cockroach-4 83.0 ± 0% 83.0 ± 0% ~ (all samples are equal)
TrackChoices1000_Cockroach-4 79.0 ± 0% 79.0 ± 0% ~ (all samples are equal)
InsertDistinct100_Cockroach-4 4.09k ±17% 3.61k ± 2% -11.84% (p=0.000 n=10+8)
WideTable100_Cockroach-4 24.4k ± 0% 24.3k ± 0% -0.42% (p=0.000 n=10+9)
WideTable1000_Cockroach-4 227k ± 0% 226k ± 0% -0.39% (p=0.000 n=10+9)