Files
hakorune/wasm_demo/hello.wat
Moe Charm 8ec80a35c3 feat(benchmark): add comprehensive performance benchmarking system
🚀 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>
2025-08-14 07:19:23 +09:00

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
)
)