You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lua-RS has achieved **production-ready correctness** with **252/252 tests passing (100%)**. The interpreter delivers **40-104% of native Lua 5.4 performance** across most operations, with excellent performance in control flow and arithmetic operations.
10
+
Lua-RS has achieved **production-ready correctness** with **302/302 tests passing (100%)**. The interpreter delivers **40-100%+ of native Lua 5.4 performance** across most operations, with excellent performance in arithmetic and control flow operations.
11
11
12
12
### Key Performance Highlights
13
13
14
14
🏆 **Excellent Performance (>90% of native)**:
15
-
-**While loop**: **104%** of native (142.52 M/s vs 136.99 M/s) - **Faster than native!**
16
-
-**Integer addition**: **96%** of native (246.04 M/s vs 256.41 M/s)
17
-
-**Nested loops**: **93%** of native (232.67 M/s vs 250.00 M/s)
15
+
-**Integer addition**: **101%** of native (251.89 M/s vs 250.00 M/s) - **Faster than native!**
16
+
-**Float multiplication**: **99%** of native (248.50 M/s vs 250.00 M/s)
17
+
-**Table insertion**: **101%** of native (71.99 M/s vs 71.43 M/s) - **Faster than native!**
18
+
-**Nested loops**: **97%** of native (243.30 M/s vs 250.00 M/s)
18
19
19
20
🎯 **Good Performance (60-90% of native)**:
20
-
-**Float multiplication**: **77%** (168.43 M/s vs 217.39 M/s)
21
-
-**Hash table insertion**: **77%** (0.023s vs 0.030s)
22
-
-**If-else control**: **75%** (89.21 M/s vs 119.05 M/s)
23
-
-**Table insertion**: **70%** (46.40 M/s vs 66.67 M/s)
24
-
-**Mixed operations**: **68%** (106.59 M/s vs 156.25 M/s)
25
-
-**Repeat-until**: **66%** (113.66 M/s vs 172.41 M/s)
26
-
-**string.gsub**: **66% faster** (0.101s vs 0.152s)
27
-
-**String concatenation**: **61%** (2775 K/s vs 4545 K/s)
28
-
29
-
📊 **Acceptable Performance (40-60% of native)**:
30
-
-**Table access**: **49%** (81.39 M/s vs 166.67 M/s)
31
-
-**Simple function call**: **43%** (23.88 M/s vs 55.56 M/s)
32
-
-**ipairs iteration**: **41%** (5.227s vs 2.122s)
33
-
-**Vararg function**: **41%** (1.48 M/s vs 3.60 M/s)
34
-
35
-
⚠️**Areas for Optimization (<40% of native)**:
36
-
-**string.sub**: **39%** (7769 K/s vs 20000 K/s)
37
-
-**Recursive fib(25)**: **36%** (0.011s vs 0.004s)
38
-
-**string.find**: **33%** (6568 K/s vs 20000 K/s)
39
-
-**Array creation & access**: **26%** (2.94 M/s vs 11.11 M/s)
21
+
-**While loop**: **85%** (127.10 M/s vs 149.25 M/s)
22
+
-**If-else control**: **84%** (99.71 M/s vs 119.05 M/s)
23
+
-**Mixed operations**: **80%** (125.22 M/s vs 156.25 M/s)
24
+
-**Table access**: **77%** (128.46 M/s vs 166.67 M/s)
25
+
-**Hash table insertion**: **136%** (0.022s vs 0.030s) - **Faster than native!**
26
+
-**Repeat-until**: **61%** (114.36 M/s vs 188.68 M/s)
27
+
-**String concatenation**: **60%** (2748 K/s vs 4545 K/s)
28
+
-**Simple function call**: **59%** (32.77 M/s vs 55.56 M/s)
29
+
30
+
📊 **Acceptable Performance (30-60% of native)**:
31
+
-**Array creation & access**: **45%** (5.10 M/s vs 11.24 M/s)
32
+
-**Recursive fib(25)**: **40%** (0.010s vs 0.004s)
33
+
-**Vararg function**: **36%** (1.29 M/s vs 3.58 M/s)
34
+
-**ipairs iteration**: **31%** (6.785s vs 2.098s)
35
+
-**string.sub**: **33%** (8155 K/s vs 25000 K/s)
36
+
-**string.find**: **33%** (5553 K/s vs 16666 K/s)
37
+
38
+
🏆**Faster than Native**:
39
+
-**string.gsub**: **146%** (0.104s vs 0.152s) - **46% faster!**
40
+
-**Hash table insertion**: **136%** (0.022s vs 0.030s) - **36% faster!**
40
41
41
42
---
42
43
43
-
## Latest Benchmark Results (November 29, 2025)
44
+
## Latest Benchmark Results (November 30, 2025)
44
45
45
46
### Arithmetic Operations
46
47
| Operation | Lua-RS | Native Lua | % of Native | Status |
-**November 30**: Added 30 new tests for IO/OS standard libraries (302 total tests)
205
+
-**November 30**: Integer addition/Table insertion now **faster than native Lua**
206
+
-**November 29**: While loop bytecode optimization
203
207
-**November 24**: CallFrame code pointer caching
204
208
-**November 24**: C function call optimization (eliminated copying)
205
209
-**November 24**: Hash table restructure (Lua-style open addressing)
@@ -225,4 +229,4 @@ MIT License - See [LICENSE](LICENSE) file for details.
225
229
226
230
---
227
231
228
-
**Status**: Production-ready correctness (252/252 tests) with competitive performance in hash operations and pattern matching. Suitable for embedded scripting and educational purposes.
232
+
**Status**: Production-ready correctness (302/302 tests) with competitive performance. Integer addition and table insertion now **faster than native Lua**. Suitable for embedded scripting and educational purposes.
0 commit comments