为何我的C++ A*实现比JS版本慢约20%?
A*算法JS版本比C++版本快20%的性能排查疑问
- 代码编译参数:
std=c++17 -O3 -ffast-math,使用GCC 13或Clang编译结果一致,已排除编译器优化未开启的可能。
为对比Wasm、JS与C的性能,我基于完全相同的结构实现了A*算法以保证测试公平性。但测试结果显示,Node.js运行的JS版本比C版本快约20%,且在M1及旧款Mac设备上结果一致:
$ ./native Avg 113.52 $ node ./MyAstar.js Avg 89.48
我难以相信V8的优化效果会优于C编译器,因此希望确认我的C实现是否存在明显的性能错误。以下是对应的代码(地图通过字典压缩以符合Stack Overflow篇幅限制):
- C++代码
- JS代码
内容的提问来源于stack exchange,提问作者Maël Nison
相关产品推荐
相关产品推荐

