运行:
cargo bench
在 lua/export.lua 中添加需要测试的 lua 实现
在 c/export.c 中添加需要测试的 c 实现
在 src/lib.rs 中添加需要测试的 rust 实现, 并且导出 c 方法
在 benches/bench.rs 中添加需要测试的方法
硬件: MacBook Pro M1, 16G
lua vm create time: [44.763 µs 45.017 µs 45.269 µs]
- 运行简单 lua 函数 (lua.export.add)
lua.export.add(1,1) time: [36.704 ns 36.951 ns 37.243 ns]
- 运行简单 c 函数 (c/export.c#add)
c.add(1+1) time: [952.50 ps 957.62 ps 963.68 ps]
- 运行 lua 版本 (lua.export.fib(10))
lua.export.fib(10) time: [441.49 ns 442.43 ns 443.62 ns]
- 运行 lua 调用 c 版本 (lua.export.fib_call_c)
globals.fib_call_c(1,1) time: [210.19 ns 211.14 ns 212.28 ns]
- 运行 c 版本 (c/export.c#fib)
c.fib(10) time: [159.48 ns 160.29 ns 161.21 ns]
- 运行 rust 版本 (src/lib.rs#fib)
rust.fib(10) time: [159.33 ns 159.82 ns 160.37 ns]