Skip to content

Commit f269888

Browse files
committed
docs: update benchmark results with local mixed_bench run [skip ci]
1 parent ec9fd2d commit f269888

1 file changed

Lines changed: 29 additions & 65 deletions

File tree

README.md

Lines changed: 29 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -38,79 +38,43 @@ While industry giants like RocksDB or LevelDB focus on extreme complexity, ApexS
3838

3939
## 📊 Performance Benchmarks
4040

41-
*Measured on AMD Ryzen 9 5900X, NVMe SSD — Full benchmark suite available at [`docs/PERFORMANCE.md`](docs/PERFORMANCE.md)*
42-
4341
> **Run locally:** `cargo bench --all-features` → relatórios HTML em `target/criterion/`
4442
4543
### 🤖 Latest CI Results
4644

4745
<!-- BENCHMARK_RESULTS_START -->
48-
> 🤖 Auto-updated by CI on **2026-05-02 21:31 UTC**[View run](https://github.com/ElioNeto/ApexStore/actions/runs/25262209702)
49-
50-
| Benchmark | Tempo (mediana) |
51-
|-----------|----------------|
52-
53-
| `ycsb_type_a / 10000 time: [820.12 µs 825.29 µs 828.60 µs]` | 825.29 µs |
54-
| `ycsb_type_b / 10000 time: [650.31 µs 674.84 µs 687.28 µs]` | 674.84 µs |
55-
| `ycsb_type_c / 10000 time: [322.55 µs 324.13 µs 325.47 µs]` | 324.13 µs |
56-
| `ycsb_type_c / 100000 time: [583.82 µs 593.69 µs 599.62 µs]` | 593.69 µs |
57-
| `workload_balanced / 10000 time: [824.09 µs 834.41 µs 841.05 µs]` | 834.41 µs |
58-
| `workload_read_heavy / 10000` | 733.64 µs |
59-
| `workload_write_heavy / 10000` | 882.15 µs |
60-
| `read_memtable / 1000 time: [136.80 µs 138.20 µs 139.63 µs]` | 138.20 µs |
61-
| `read_memtable / 10000 time: [264.14 µs 266.79 µs 269.90 µs]` | 266.79 µs |
62-
| `read_sstable_cold / 1000 time: [139.95 µs 142.25 µs 144.12 µs]` | 142.25 µs |
63-
| `read_sstable_cold / 10000 time: [243.13 µs 245.65 µs 249.45 µs]` | 245.65 µs |
64-
| `read_sstable_warm / 1000 time: [140.52 µs 142.09 µs 143.90 µs]` | 142.09 µs |
65-
| `read_sstable_warm / 10000 time: [243.47 µs 247.24 µs 250.98 µs]` | 247.24 µs |
66-
| `bloom_filter / 10000 time: [1.9832 ms 2.0507 ms 2.1213 ms]` | 2.0507 ms |
67-
| `bloom_filter / 100000 time: [31.944 ms 32.218 ms 32.457 ms]` | 32.218 ms |
68-
| `read_latency / memtable_1k` | 106.83 µs |
69-
| `read_latency / sstable_cold_1k` | 145.36 µs |
70-
| `scan_sequential / 1000 time: [138.02 µs 139.32 µs 141.09 µs]` | 139.32 µs |
71-
| `scan_sequential / 10000 time: [1.7773 ms 1.7813 ms 1.7872 ms]` | 1.7813 ms |
72-
| `full_scan / 1000 time: [144.30 µs 145.90 µs 147.45 µs]` | 145.90 µs |
73-
| `full_scan / 10000 time: [2.0813 ms 2.1043 ms 2.1379 ms]` | 2.1043 ms |
74-
| `range_scan_100 / 100 time: [6.8891 ms 6.9473 ms 7.0535 ms]` | 6.9473 ms |
75-
| `range_scan_1000 / 1000 time: [7.2104 ms 7.3029 ms 7.3804 ms]` | 7.3029 ms |
76-
| `prefix_scan_100 / 100 time: [865.13 µs 874.68 µs 883.89 µs]` | 874.68 µs |
77-
| `prefix_scan_1000 / 1000 time: [1.0699 ms 1.0749 ms 1.0787 ms]` | 1.0749 ms |
78-
| `iteration_sorted / 1000 time: [173.25 µs 174.38 µs 175.70 µs]` | 174.38 µs |
79-
| `iteration_sorted / 10000 time: [2.1238 ms 2.1293 ms 2.1381 ms]` | 2.1293 ms |
80-
| `scan_limit_10 / 10 time: [2.5731 µs 2.5954 µs 2.6115 µs]` | 2.5954 µs |
81-
| `scan_limit_100 / 100 time: [23.638 µs 23.735 µs 23.848 µs]` | 23.735 µs |
82-
| `scan_limit_1000 / 1000 time: [235.16 µs 236.44 µs 237.84 µs]` | 236.44 µs |
83-
| `scan_pagination / 10 time: [862.16 µs 867.57 µs 871.45 µs]` | 867.57 µs |
84-
| `scan_pagination / 100 time: [75.984 ms 76.368 ms 76.748 ms]` | 76.368 ms |
85-
| `sstable_layer_1 / 1 time: [2.0199 ms 2.0264 ms 2.0340 ms]` | 2.0264 ms |
86-
| `sstable_layer_3 / 3 time: [6.4222 ms 6.4481 ms 6.4888 ms]` | 6.4481 ms |
87-
| `sstable_layer_10 / 10 time: [24.502 ms 24.770 ms 24.898 ms]` | 24.770 ms |
88-
| `concurrent_1_threads / 1 time: [2.6311 ms 2.6809 ms 2.7283 ms]` | 2.6809 ms |
89-
| `concurrent_2_threads / 2 time: [2.9239 ms 2.9482 ms 2.9774 ms]` | 2.9482 ms |
90-
| `memory_pressure / small_memtable` | 4.8870 ms |
91-
| `many_sstables_10 / 10 time: [230.08 µs 232.36 µs 235.38 µs]` | 232.36 µs |
92-
| `many_sstables_50 / 50 time: [315.37 µs 318.02 µs 320.42 µs]` | 318.02 µs |
93-
| `cache_thrash_16MB / 16 time: [80.146 µs 81.032 µs 83.087 µs]` | 81.032 µs |
94-
| `cache_thrash_64MB / 64 time: [79.431 µs 79.960 µs 80.427 µs]` | 79.960 µs |
95-
| `key_updates / 10k_keys time: [8.0228 ms 8.0665 ms 8.0988 ms]` | 8.0665 ms |
96-
| `delete_operations / 10k_keys` | 1.4302 ms |
97-
| `write_single / 10 time: [164.73 ns 165.08 ns 165.47 ns]` | 165.08 ns |
98-
| `write_single / 100 time: [165.93 ns 166.11 ns 166.26 ns]` | 166.11 ns |
99-
| `write_single / 1024 time: [196.22 ns 199.38 ns 202.58 ns]` | 199.38 ns |
100-
| `write_single / 10240 time: [795.75 ns 797.11 ns 798.39 ns]` | 797.11 ns |
101-
| `write_batch_1000 / 1000 time: [345.44 µs 347.41 µs 348.58 µs]` | 347.41 µs |
102-
| `write_batch_10000 / 10000 time: [6.5341 ms 6.5833 ms 6.6134 ms]` | 6.5833 ms |
103-
| `write_batch_100000 / 100000` | 199.13 ms |
104-
| `memtable_flush_8 / 8 time: [42.016 ms 42.794 ms 43.210 ms]` | 42.794 ms |
105-
| `sstable_flush / 100000 time: [197.29 ms 199.16 ms 201.05 ms]` | 199.16 ms |
106-
| `write_size_10_10 / 10x10 time: [164.59 ns 164.99 ns 165.29 ns]` | 164.99 ns |
107-
| `write_size_10_100 / 10x100` | 167.69 ns |
108-
| `write_size_100_100 / 100x100` | 171.60 ns |
109-
| `write_size_100_1000 / 100x1000` | 173.10 ns |
110-
| `write_size_100_10000 / 100x10000` | 173.02 ns |
46+
> 🤖 Auto-updated by CI — results will appear here after the next benchmark run.
11147
11248
<!-- BENCHMARK_RESULTS_END -->
11349

50+
### 📋 YCSB Mixed Workload — `mixed_bench`
51+
52+
*Medido em **Intel Core i5-9300H @ 2.40GHz**, 16 GB DDR4 2667 MHz, HDD SATA 1TB (v2.1.39) — `cargo bench --bench mixed_bench -- --sample-size 10`*
53+
54+
#### Throughput (operações/segundo)
55+
56+
| Benchmark | Tamanho | Mediana | Throughput | Variação vs anterior |
57+
|-----------|---------|---------|------------|----------------------|
58+
| **YCSB Type A** *(50% write / 50% read)* | 10K | 952.83 µs | 1.05 Melem/s | sem mudança |
59+
| **YCSB Type A** *(50% write / 50% read)* | 100K | 2.706 ms | 369.6 Kelem/s | ✅ +49% throughput |
60+
| **YCSB Type B** *(5% write / 95% read)* | 10K | 814.90 µs | 1.23 Melem/s | ⚠️ -18.6% throughput |
61+
| **YCSB Type B** *(5% write / 95% read)* | 100K | 1.409 ms | 710.0 Kelem/s | ⚠️ -20.1% throughput |
62+
| **YCSB Type C** *(100% read)* | 10K | 334.70 µs | 2.99 Melem/s | ✅ +9.4% throughput |
63+
| **YCSB Type C** *(100% read)* | 100K | 745.36 µs | 1.34 Melem/s | ✅ +12.4% throughput |
64+
| **YCSB Type C** *(100% read)* | 1M | 1.290 ms | 775.0 Kelem/s |*(novo)* |
65+
66+
#### Workloads compostos
67+
68+
| Benchmark | Tamanho | Mediana | Throughput | Variação vs anterior |
69+
|-----------|---------|---------|------------|----------------------|
70+
| **Balanced** *(mix equilibrado)* | 10K | 1.080 ms | 925.9 Kelem/s | ⚠️ -8.7% throughput |
71+
| **Balanced** *(mix equilibrado)* | 100K | 2.831 ms | 353.2 Kelem/s |*(sem baseline)* |
72+
| **Read Heavy** *(leitura intensiva)* | 10K | 811.91 µs | 1.23 Melem/s | ✅ +15.7% throughput |
73+
| **Read Heavy** *(leitura intensiva)* | 100K | 1.777 ms | 562.7 Kelem/s |*(sem baseline)* |
74+
| **Write Heavy** *(escrita intensiva)* | 10K | 1.187 ms | 82.3 KiB/s | ⚠️ -6.7% throughput |
75+
| **Write Heavy** *(escrita intensiva)* | 100K | 3.486 ms | 28.0 KiB/s |*(sem baseline)* |
76+
77+
> **Nota sobre hardware:** resultados acima são conservadores — medidos em HDD SATA (vs. NVMe). Em NVMe espera-se 2–4× melhor throughput em operações I/O-bound.
11478
11579
### 📋 Reference Benchmarks
11680

0 commit comments

Comments
 (0)