Skip to content

Commit 8838e0f

Browse files
committed
wip
1 parent 28d0632 commit 8838e0f

File tree

6 files changed

+49
-45
lines changed

6 files changed

+49
-45
lines changed

module/core/strs_tools/benchmarks/current_run_results.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Latest Benchmark Execution Results
22

3-
*Generated: 2025-08-06 12:56 UTC*
3+
*Generated: 2025-08-06 13:16 UTC*
44

55
## Benchmark Execution Summary
66

@@ -25,34 +25,34 @@ The benchmark system tests three critical bottlenecks:
2525

2626
### Detailed Timing Data
2727
**Multi-delimiter 2KB** (2KB)
28-
- Scalar: 2.673ms (747.3 MiB/s)
29-
- SIMD: 0.196ms (12.1 MiB/s)
30-
- **Improvement: 13.0x faster**
28+
- Scalar: 2.690ms (742.5 MiB/s)
29+
- SIMD: 0.198ms (12.2 MiB/s)
30+
- **Improvement: 12.9x faster**
3131

3232
**Multi-delimiter 10KB** (10KB)
33-
- Scalar: 13.965ms (716.0 MiB/s)
34-
- SIMD: 0.458ms (26.0 MiB/s)
35-
- **Improvement: 29.1x faster**
33+
- Scalar: 14.054ms (711.5 MiB/s)
34+
- SIMD: 0.461ms (26.1 MiB/s)
35+
- **Improvement: 29.0x faster**
3636

3737
**Multi-delimiter 50KB** (50KB)
38-
- Scalar: 97.317ms (513.7 MiB/s)
39-
- SIMD: 0.709ms (83.9 MiB/s)
40-
- **Improvement: 131.0x faster**
38+
- Scalar: 97.942ms (510.5 MiB/s)
39+
- SIMD: 0.714ms (84.5 MiB/s)
40+
- **Improvement: 130.5x faster**
4141

4242
**Large input 100KB** (100KB)
43-
- Scalar: 158.850ms (629.5 MiB/s)
44-
- SIMD: 9.710ms (12.3 MiB/s)
45-
- **Improvement: 15.7x faster**
43+
- Scalar: 159.869ms (625.5 MiB/s)
44+
- SIMD: 9.772ms (12.3 MiB/s)
45+
- **Improvement: 15.6x faster**
4646

4747
**Large input 500KB** (500KB)
48-
- Scalar: 853.489ms (585.8 MiB/s)
49-
- SIMD: 44.949ms (13.2 MiB/s)
48+
- Scalar: 858.965ms (582.1 MiB/s)
49+
- SIMD: 45.238ms (13.3 MiB/s)
5050
- **Improvement: 18.1x faster**
5151

5252
**Pattern complexity - 8 delims** (10KB)
53-
- Scalar: 255.839ms (40.1 MiB/s)
54-
- SIMD: 1.200ms (10.2 MiB/s)
55-
- **Improvement: 203.5x faster**
53+
- Scalar: 257.481ms (39.8 MiB/s)
54+
- SIMD: 1.208ms (10.2 MiB/s)
55+
- **Improvement: 202.8x faster**
5656

5757

5858
## Performance Characteristics

module/core/strs_tools/benchmarks/detailed_results.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ Based on recent benchmark runs, SIMD optimizations provide the following improve
88

99
| Test Category | Input Size | Improvement | Detailed Metrics |
1010
|---------------|------------|-------------|------------------|
11-
| Multi-delimiter 2KB | 2KB | 13.0x faster | Scalar: 2.67ms, SIMD: 0.20ms (12 MiB/s) |
12-
| Multi-delimiter 10KB | 10KB | 29.1x faster | Scalar: 13.96ms, SIMD: 0.46ms (26 MiB/s) |
13-
| Multi-delimiter 50KB | 50KB | 131.0x faster | Scalar: 97.32ms, SIMD: 0.71ms (84 MiB/s) |
14-
| Large input 100KB | 100KB | 15.7x faster | Scalar: 158.85ms, SIMD: 9.71ms (12 MiB/s) |
15-
| Large input 500KB | 500KB | 18.1x faster | Scalar: 853.49ms, SIMD: 44.95ms (13 MiB/s) |
16-
| Pattern complexity - 8 delims | 10KB | 203.5x faster | Scalar: 255.84ms, SIMD: 1.20ms (10 MiB/s) |
11+
| Multi-delimiter 2KB | 2KB | 12.9x faster | Scalar: 2.69ms, SIMD: 0.20ms (12 MiB/s) |
12+
| Multi-delimiter 10KB | 10KB | 29.0x faster | Scalar: 14.05ms, SIMD: 0.46ms (26 MiB/s) |
13+
| Multi-delimiter 50KB | 50KB | 130.5x faster | Scalar: 97.94ms, SIMD: 0.71ms (84 MiB/s) |
14+
| Large input 100KB | 100KB | 15.6x faster | Scalar: 159.87ms, SIMD: 9.77ms (12 MiB/s) |
15+
| Large input 500KB | 500KB | 18.1x faster | Scalar: 858.97ms, SIMD: 45.24ms (13 MiB/s) |
16+
| Pattern complexity - 8 delims | 10KB | 202.8x faster | Scalar: 257.48ms, SIMD: 1.21ms (10 MiB/s) |
1717

1818
## Bottleneck Analysis
1919

@@ -29,5 +29,5 @@ Based on recent benchmark runs, SIMD optimizations provide the following improve
2929

3030
---
3131

32-
*Generated: 2025-08-06 12:56 UTC*
32+
*Generated: 2025-08-06 13:16 UTC*
3333
*This file updated after each benchmark run*

module/core/strs_tools/benchmarks/readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
## Executive Summary
44

5-
SIMD optimization provides **dramatic performance improvements** for string processing operations, with improvements ranging from **13.0x to 203.5x faster** depending on operation complexity.
5+
SIMD optimization provides **dramatic performance improvements** for string processing operations, with improvements ranging from **12.9x to 202.8x faster** depending on operation complexity.
66

77
## Key Results
88

9-
- **Multi-delimiter splitting**: 68.4x average improvement
9+
- **Multi-delimiter splitting**: 68.1x average improvement
1010
- **Large input processing**: 18.1x improvement on 500KB inputs
11-
- **Complex patterns**: 203.5x improvement with 8 delimiters
12-
- **Peak SIMD throughput**: 83.9 MiB/s vs 747.3 MiB/s scalar
11+
- **Complex patterns**: 202.8x improvement with 8 delimiters
12+
- **Peak SIMD throughput**: 84.5 MiB/s vs 742.5 MiB/s scalar
1313

1414
## How to Run
1515

@@ -33,5 +33,5 @@ Benchmarks automatically update the following files:
3333

3434
---
3535

36-
*Last updated: 2025-08-06 12:56 UTC*
36+
*Last updated: 2025-08-06 13:16 UTC*
3737
*All documentation automatically generated during benchmark execution*

module/move/unilang/benchmarks/comprehensive_framework_comparison.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -893,6 +893,7 @@ fn calculate_std_dev(values: &[f64], mean: f64) -> f64 {
893893
#[cfg(test)]
894894
mod tests {
895895
#[ cfg( feature = "benchmarks" ) ]
896+
#[allow(unused_imports)]
896897
use super::*;
897898

898899
#[ cfg( feature = "benchmarks" ) ]
@@ -1486,6 +1487,7 @@ fn run_comprehensive_benchmark() {
14861487
#[cfg(feature = "benchmarks")]
14871488
use criterion::{criterion_group, criterion_main, Criterion};
14881489

1490+
/// Criterion benchmark function for comprehensive framework comparison
14891491
#[cfg(feature = "benchmarks")]
14901492
fn comprehensive_benchmark(c: &mut Criterion) {
14911493
c.bench_function("comprehensive_benchmark", |b| {

module/move/unilang/benchmarks/readme.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- Last updated: 2025-08-06 11:39:01 UTC -->
1+
<!-- Last updated: 2025-08-06 13:18:23 UTC -->
22
# # # # 🚀 Unilang Performance Benchmarks
33

44
This directory contains comprehensive performance benchmarks for the unilang framework, measuring build-time and runtime performance across exponentially increasing command counts from **10¹ to 10⁵** (10 to 100,000 commands).
@@ -39,31 +39,31 @@ cargo test throughput_performance_benchmark --release --features benchmarks -- -
3939

4040
| Commands | Build Time | Binary Size | Startup | Lookup | Throughput |
4141
|----------|------------|-------------|---------|--------|-----------|
42-
| **10** | ~0.0s* | ~0 KB* | ~238.8 μs | ~19.6 μs | ~50778/sec |
43-
| **100** | ~0.0s* | ~0 KB* | ~118.0 μs | ~19.5 μs | ~51098/sec |
44-
| **1K** | ~0.0s* | ~0 KB* | ~1722.3 μs | ~20.0 μs | ~49851/sec |
45-
| **10K** | ~0.0s* | ~0 KB* | ~17880.7 μs | ~20.0 μs | ~49765/sec |
46-
| **100K** | ~0.0s* | ~0 KB* | ~193828.0 μs | ~20.3 μs | ~49001/sec |
42+
| **10** | ~0.0s* | ~0 KB* | ~36.4 μs | ~19.1 μs | ~52297/sec |
43+
| **100** | ~0.0s* | ~0 KB* | ~117.6 μs | ~18.3 μs | ~54672/sec |
44+
| **1K** | ~0.0s* | ~0 KB* | ~1012.9 μs | ~19.5 μs | ~51175/sec |
45+
| **10K** | ~0.0s* | ~0 KB* | ~14391.3 μs | ~31.1 μs | ~32063/sec |
46+
| **100K** | ~0.0s* | ~0 KB* | ~152028.5 μs | ~19.7 μs | ~50479/sec |
4747

4848
### Clap Scaling Performance
4949

5050
| Commands | Build Time | Binary Size | Startup | Lookup | Throughput |
5151
|----------|------------|-------------|---------|--------|-----------|
52-
| **10** | ~0.0s* | ~0 KB* | ~55.4 μs | ~12.0 μs | ~82939/sec |
53-
| **100** | ~0.0s* | ~0 KB* | ~101.3 μs | ~86.5 μs | ~11556/sec |
54-
| **1K** | ~0.0s* | ~0 KB* | ~1426.6 μs | ~1037.8 μs | ~963/sec |
55-
| **10K** | ~0.0s* | ~0 KB* | ~18983.4 μs | ~18149.8 μs | ~55/sec |
52+
| **10** | ~0.0s* | ~0 KB* | ~22.8 μs | ~12.1 μs | ~82113/sec |
53+
| **100** | ~0.0s* | ~0 KB* | ~114.7 μs | ~78.2 μs | ~12780/sec |
54+
| **1K** | ~0.0s* | ~0 KB* | ~867.2 μs | ~1265.3 μs | ~790/sec |
55+
| **10K** | ~0.0s* | ~0 KB* | ~10023.1 μs | ~16466.6 μs | ~60/sec |
5656
| **100K** | ~0.0s* | ~0 KB* | N/A* | N/A* | N/A* |
5757

5858
### Pico-Args Scaling Performance
5959

6060
| Commands | Build Time | Binary Size | Startup | Lookup | Throughput |
6161
|----------|------------|-------------|---------|--------|-----------|
62-
| **10** | ~0.0s* | ~0 KB* | ~1.2 μs | ~0.1 μs | ~6317877/sec |
63-
| **100** | ~0.0s* | ~0 KB* | ~9.6 μs | ~0.1 μs | ~6271873/sec |
64-
| **1K** | ~0.0s* | ~0 KB* | ~93.6 μs | ~0.1 μs | ~6156983/sec |
65-
| **10K** | ~0.0s* | ~0 KB* | ~1387.0 μs | ~0.1 μs | ~6008131/sec |
66-
| **100K** | ~0.0s* | ~0 KB* | ~98534.9 μs | ~0.1 μs | ~5990477/sec |
62+
| **10** | ~0.0s* | ~0 KB* | ~1.0 μs | ~0.1 μs | ~5958019/sec |
63+
| **100** | ~0.0s* | ~0 KB* | ~10.9 μs | ~0.1 μs | ~6464918/sec |
64+
| **1K** | ~0.0s* | ~0 KB* | ~64.2 μs | ~0.1 μs | ~6358693/sec |
65+
| **10K** | ~0.0s* | ~0 KB* | ~606.0 μs | ~0.1 μs | ~6154406/sec |
66+
| **100K** | ~0.0s* | ~0 KB* | ~87567.2 μs | ~0.1 μs | ~6076677/sec |
6767

6868
*Note: Build time and binary size data unavailable from throughput-only benchmark. Run comprehensive benchmark for complete metrics.*
6969

module/move/unilang/benchmarks/throughput_benchmark.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,7 @@ fn run_throughput_benchmark() {
915915
#[cfg(feature = "benchmarks")]
916916
use criterion::{criterion_group, criterion_main, Criterion};
917917

918+
/// Criterion benchmark function for throughput testing
918919
#[cfg(feature = "benchmarks")]
919920
fn throughput_benchmark(c: &mut Criterion) {
920921
c.bench_function("throughput_benchmark", |b| {
@@ -937,6 +938,7 @@ fn main() {
937938
#[cfg(test)]
938939
mod tests {
939940
#[cfg(feature = "benchmarks")]
941+
#[allow(unused_imports)]
940942
use super::*;
941943

942944
#[cfg(feature = "benchmarks")]

0 commit comments

Comments
 (0)