Add mixed compare benchmark baseline
This commit is contained in:
1 parent
a8f6aa31f1
commit
44f9573eec
3 files changed
+124
No files matched your search
@@ -0,0 +1,19 @@
|
||||
# Fast Ops Optimizations Plan (Draft)
|
||||
|
||||
Baseline
|
||||
- See `notes/nested_range_baseline.md`
|
||||
|
||||
Candidates (not started)
|
||||
1) Primitive comparisons
|
||||
- Emit fast CMP variants for known ObjString/ObjInt/ObjReal/ObjBool across all comparison operators.
|
||||
2) Mixed numeric ops
|
||||
- Ensure INT+REAL arithmetic uses INT_TO_REAL + REAL op with no extra moves/boxing.
|
||||
3) Boolean conversion
|
||||
- Skip OBJ_TO_BOOL when compiler already has a BOOL slot.
|
||||
4) Range/loop hot path
|
||||
- Keep range iteration in INT ops, avoid accidental boxing.
|
||||
- Confirm loop-var slots avoid re-boxing in loop bodies.
|
||||
5) String ops
|
||||
- Extend fast path for string comparisons in hot loops.
|
||||
6) Box/unbox audit
|
||||
- Identify remaining BOX_OBJ / OBJ_TO_* in inner loops and eliminate when safe.
|
||||
@@ -0,0 +1,12 @@
|
||||
# Mixed Compare Benchmark Baseline
|
||||
|
||||
Date: 2026-02-16
|
||||
|
||||
Benchmark:
|
||||
- MixedCompareBenchmarkTest.benchmarkMixedCompareOps
|
||||
|
||||
Command:
|
||||
`BENCHMARKS=true timeout 20s ./gradlew :lynglib:jvmTest --tests MixedCompareBenchmarkTest --rerun-tasks`
|
||||
|
||||
Result:
|
||||
- mixed-compare elapsed=374 ms
|
||||
Reference in new issue
Block a user