Skip to content

Commit 89b4866

Browse files
committed
wip
1 parent c796941 commit 89b4866

File tree

4 files changed

+65
-22
lines changed

4 files changed

+65
-22
lines changed

module/core/strs_tools/benchmarks/current_run_results.md

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

3-
*Generated: 2025-08-06 10:44 UTC*
3+
*Generated: 2025-08-06 11:40 UTC*
44

55
## Benchmark Execution Summary
66

@@ -17,10 +17,44 @@ The benchmark system tests three critical bottlenecks:
1717
**Purpose**: Tests performance scaling from 10KB to 500KB inputs
1818
**Focus**: Memory and throughput bottlenecks for file processing
1919

20-
### 3. Pattern Complexity Impact
20+
### 3. Pattern Complexity Impact
2121
**Purpose**: Compares 1, 3, and 8 delimiter performance
2222
**Focus**: Algorithmic efficiency and SIMD pattern matching benefits
2323

24+
## Current Run Results
25+
26+
### Detailed Timing Data
27+
**Multi-delimiter 2KB** (2KB)
28+
- Scalar: 2.492ms (801.7 MiB/s)
29+
- SIMD: 0.183ms (11.3 MiB/s)
30+
- **Improvement: 13.5x faster**
31+
32+
**Multi-delimiter 10KB** (10KB)
33+
- Scalar: 13.018ms (768.1 MiB/s)
34+
- SIMD: 0.427ms (24.2 MiB/s)
35+
- **Improvement: 30.2x faster**
36+
37+
**Multi-delimiter 50KB** (50KB)
38+
- Scalar: 90.716ms (551.1 MiB/s)
39+
- SIMD: 0.661ms (78.2 MiB/s)
40+
- **Improvement: 136.0x faster**
41+
42+
**Large input 100KB** (100KB)
43+
- Scalar: 148.075ms (675.3 MiB/s)
44+
- SIMD: 9.051ms (11.4 MiB/s)
45+
- **Improvement: 16.3x faster**
46+
47+
**Large input 500KB** (500KB)
48+
- Scalar: 795.599ms (628.4 MiB/s)
49+
- SIMD: 41.900ms (12.3 MiB/s)
50+
- **Improvement: 18.8x faster**
51+
52+
**Pattern complexity - 8 delims** (10KB)
53+
- Scalar: 238.486ms (43.0 MiB/s)
54+
- SIMD: 1.119ms (9.5 MiB/s)
55+
- **Improvement: 211.4x faster**
56+
57+
2458
## Performance Characteristics
2559

2660
### SIMD Advantages

module/core/strs_tools/benchmarks/detailed_results.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +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.1x faster | Scalar: 2.62ms, SIMD: 0.19ms (12 MiB/s) |
12-
| Multi-delimiter 10KB | 10KB | 29.5x faster | Scalar: 13.67ms, SIMD: 0.45ms (25 MiB/s) |
13-
| Multi-delimiter 50KB | 50KB | 132.5x faster | Scalar: 95.27ms, SIMD: 0.69ms (82 MiB/s) |
11+
| Multi-delimiter 2KB | 2KB | 13.5x faster | Scalar: 2.49ms, SIMD: 0.18ms (11 MiB/s) |
12+
| Multi-delimiter 10KB | 10KB | 30.2x faster | Scalar: 13.02ms, SIMD: 0.43ms (24 MiB/s) |
13+
| Multi-delimiter 50KB | 50KB | 136.0x faster | Scalar: 90.72ms, SIMD: 0.66ms (78 MiB/s) |
14+
| Large input 100KB | 100KB | 16.3x faster | Scalar: 148.08ms, SIMD: 9.05ms (11 MiB/s) |
15+
| Large input 500KB | 500KB | 18.8x faster | Scalar: 795.60ms, SIMD: 41.90ms (12 MiB/s) |
16+
| Pattern complexity - 8 delims | 10KB | 211.4x faster | Scalar: 238.49ms, SIMD: 1.12ms (9 MiB/s) |
1417

1518
## Bottleneck Analysis
1619

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

2730
---
2831

29-
*Generated: 2025-08-06 11:09 UTC*
32+
*Generated: 2025-08-06 11:40 UTC*
3033
*This file updated after each benchmark run*

module/core/strs_tools/benchmarks/readme.md

Lines changed: 6 additions & 6 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.1x to 132.5x faster** depending on operation complexity.
5+
SIMD optimization provides **dramatic performance improvements** for string processing operations, with improvements ranging from **13.5x to 211.4x faster** depending on operation complexity.
66

77
## Key Results
88

9-
- **Multi-delimiter splitting**: 58.4x average improvement
10-
- **Large input processing**: 0.0x improvement on 500KB inputs
11-
- **Complex patterns**: 0.0x improvement with 8 delimiters
12-
- **Peak SIMD throughput**: 82.2 MiB/s vs 763.4 MiB/s scalar
9+
- **Multi-delimiter splitting**: 71.0x average improvement
10+
- **Large input processing**: 18.8x improvement on 500KB inputs
11+
- **Complex patterns**: 211.4x improvement with 8 delimiters
12+
- **Peak SIMD throughput**: 78.2 MiB/s vs 801.7 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 11:09 UTC*
36+
*Last updated: 2025-08-06 11:40 UTC*
3737
*All documentation automatically generated during benchmark execution*

module/move/unilang/benchmarks/readme.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- Last updated: 2025-08-06 11:00:35 UTC -->
1+
<!-- Last updated: 2025-08-06 11:39:01 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,25 +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* | ~542.8 μs | ~19.2 μs | ~52001/sec |
43-
| **100** | ~0.0s* | ~0 KB* | ~112.5 μs | ~20.5 μs | ~48780/sec |
44-
| **1K** | ~0.0s* | ~0 KB* | ~1618.6 μs | ~20.6 μs | ~48258/sec |
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 |
4547

4648
### Clap Scaling Performance
4749

4850
| Commands | Build Time | Binary Size | Startup | Lookup | Throughput |
4951
|----------|------------|-------------|---------|--------|-----------|
50-
| **10** | ~0.0s* | ~0 KB* | ~125.6 μs | ~11.5 μs | ~86488/sec |
51-
| **100** | ~0.0s* | ~0 KB* | ~80.8 μs | ~111.3 μs | ~8980/sec |
52-
| **1K** | ~0.0s* | ~0 KB* | ~1055.9 μs | ~1108.4 μs | ~902/sec |
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 |
56+
| **100K** | ~0.0s* | ~0 KB* | N/A* | N/A* | N/A* |
5357

5458
### Pico-Args Scaling Performance
5559

5660
| Commands | Build Time | Binary Size | Startup | Lookup | Throughput |
5761
|----------|------------|-------------|---------|--------|-----------|
58-
| **10** | ~0.0s* | ~0 KB* | ~1.7 μs | ~0.1 μs | ~5229004/sec |
59-
| **100** | ~0.0s* | ~0 KB* | ~11.1 μs | ~0.1 μs | ~6356430/sec |
60-
| **1K** | ~0.0s* | ~0 KB* | ~59.4 μs | ~0.1 μs | ~6204043/sec |
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 |
6167

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

0 commit comments

Comments
 (0)