gpt4 book ai didi

c++ - 为什么要使用第三方 vector 库?

转载 作者:搜寻专家 更新时间:2023-10-31 00:40:59 24 4
gpt4 key购买 nike

所以我正在考虑将 Eigen 矩阵库用于我正在做的项目(2D 空间模拟器)。我只是继续使用 Eigen::Vector2d 和裸数组分析了一些代码。我注意到在为数组中的元素赋值方面提高了 10 倍,在计算点积方面提高了 40 倍。

这里是 my profiling如果您想检查一下,基本上是 ~4.065s 对 ~0.110s。

显然,裸数组在点积和赋值方面效率更高。那么为什么要使用 Eigen 库(或任何其他库,Eigen 似乎是最快的)?是稳定性吗?自己难以高效编码的复杂数学?

最佳答案

这些库的真正优势在于内置的 SIMD 向量化。

看起来 eigen 默认不启用它,您需要 enable it使用定义/编译器开关。 (编辑:误读了链接,如果它检测到编译器支持它,它就会启用,并且您需要在某些编译器上启用指令,在您的编译器上默认情况下仍然可能启用也可能不启用)

(更不用说它们通常比家庭解决方案经过更彻底的测试,并且能够实现各种复杂/有趣的东西,这些都是手工编码的真正负担)

关于c++ - 为什么要使用第三方 vector 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13832793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com