rsmod-路径器
一个宽度第一搜索路径探测器. (在所有土地上最快)
从克特林出发: https://github.com/rsmod/rsmod/tree/main/engine/pathfinder 页面存档备份,存于互联网档案馆
安装中
• https://www.npmjs.com/package/@2004scape/rsmod-pathfinder
npm i @2004scape/rsmod-pathfinder
🔗 https://crates.io/crates/rsmod-pathfinder 页面存档备份,存于互联网档案馆
cargo add rsmod-pathfinder
基准
我创造了 main.js 财务报告和审定财务报表 main.rs 用于合成性能实例.
它们装入了 Lumbridge 地图平方(64x64)的完全重建
并设置了完整的剪接旗。 然后在循环中,它贯穿了100千个路由器
请访问目的地+10平地砖 北边有一个通往目的地的单一入口.
- 说吧
AMD Ryzen 9 3900X 12 Core 处理器 3.80 GHz
- 下面所有测试都是用同样的硬件在同一台机器上进行的.
锈( 天然 ) :
在Windows x64 OS上以发布模式运行.
100k paths took: 279.3573ms; time per call: 2.793µs
100k paths took: 280.2238ms; time per call: 2.802µs
100k paths took: 281.206ms; time per call: 2.812µs
100k paths took: 278.8223ms; time per call: 2.788µs
100k paths took: 277.9747ms; time per call: 2.779µs
100k paths took: 279.5909ms; time per call: 2.795µs
100k paths took: 277.8473ms; time per call: 2.778µs
100k paths took: 281.0326ms; time per call: 2.81µs
Rust(网络大会):
在 Windows x64 OS 上以发布模式以节点JS进行 Ran.
通常在现实世界中平均需要850ms 在服务器上同时使用 TypeScript .
100k paths took: 703ms; time per call: 7.03µs
100k paths took: 702ms; time per call: 7.02µs
100k paths took: 701ms; time per call: 7.01µs
100k paths took: 702ms; time per call: 7.02µs
100k paths took: 699ms; time per call: 6.99µs
100k paths took: 705ms; time per call: 7.05µs
100k paths took: 701ms; time per call: 7.01µs
100k paths took: 702ms; time per call: 7.02µs
大会文稿(网络大会):
100k paths took: 1534ms; time per call: 15.34µs
100k paths took: 1540ms; time per call: 15.40µs
100k paths took: 1544ms; time per call: 15.44µs
100k paths took: 1519ms; time per call: 15.19µs
100k paths took: 1533ms; time per call: 15.33µs
100k paths took: 1522ms; time per call: 15.22µs
100k paths took: 1527ms; time per call: 15.27µs
类型脚本 :
100k paths took: 3858ms; time per call: 38.58µs
100k paths took: 3855ms; time per call: 38.55µs
100k paths took: 3828ms; time per call: 38.28µs
100k paths took: 3820ms; time per call: 38.20µs
100k paths took: 3833ms; time per call: 38.33µs
100k paths took: 3852ms; time per call: 38.52µs
100k paths took: 3844ms; time per call: 38.44µs
- 说吧
cargo bench
pathfinder/find_path time: [6.8195 µs 7.1890 µs 7.4884 µs]
thrpt: [133.54 Kelem/s 139.10 Kelem/s 146.64 Kelem/s]
撰稿人笔记
wasm-pack build --target nodejs --out-dir dist --out-name rsmod-pathfinder # Builds the wasm bundle.
~/IdeaProjects/wabt/bin/wasm2wat dist/rsmod-pathfinder_bg.wasm -o src/rsmod.wat # Generates the wat file.
npm publish --access public # Publishes the version of this to npm.