🚀 Phase 8.2 PoC2 Achievement: 280x WASM performance boost proven\! ## New Features: - Complete benchmark framework (src/benchmarks.rs) - CLI integration: --benchmark --iterations options - 3-backend comparison: Interpreter/VM/WASM - Automated performance measurement & reporting ## Benchmark Results (100 iterations average): - WASM: 0.17ms (280x faster than Interpreter\!) - VM: 16.97ms (2.9x faster than Interpreter) - Interpreter: 48.59ms (baseline) ## Added Files: - benchmarks/bench_{light,medium,heavy}.nyash - Test cases - benchmark_summary_20250814.md - Clean results - wasm_demo/ - Browser execution environment ## Documentation Updates: - docs/execution-backends.md - Added benchmark usage - docs/CURRENT_TASK.md - Phase 8.3 Copilot coordination - CLAUDE.md - Quick benchmark access ## Copilot Integration Ready: - Phase 8.3 merge conflict avoidance strategy documented - Benchmark framework ready for Box operation performance validation - CLI integration preserved for future enhancements 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
679 B
Plaintext
29 lines
679 B
Plaintext
;; Simple WASM demo - Hello from Nyash!
|
|
(module
|
|
;; Import console.log from JavaScript
|
|
(import "console" "log" (func $log (param i32)))
|
|
|
|
;; Memory for string storage
|
|
(memory (export "memory") 1)
|
|
|
|
;; Store "Hello Nyash!" at memory offset 0
|
|
(data (i32.const 0) "Hello Nyash! 42\00")
|
|
|
|
;; Function to get string pointer
|
|
(func (export "getHelloString") (result i32)
|
|
i32.const 0 ;; Return pointer to string
|
|
)
|
|
|
|
;; Function to add two numbers
|
|
(func (export "add") (param $a i32) (param $b i32) (result i32)
|
|
local.get $a
|
|
local.get $b
|
|
i32.add
|
|
)
|
|
|
|
;; Main function that logs 42
|
|
(func (export "main")
|
|
i32.const 42
|
|
call $log
|
|
)
|
|
) |