![]() |
1
4
您的标量版本看起来很糟糕(使用类型punning的引用强制转换),并且可能编译为效率非常低的ASM,这比将每个32位元素复制到位模式慢得多。
你的第一个手动矢量化版本甚至没有做同样的工作,不过,它只是屏蔽了所有要离开的非符号位。
不是那个加法
然后你把它编辑成一个版本
尤其是如果你没有用你的花车做任何其他的事情,你实际上会想用
在Skylake和更新版本上,FP布尔值可以使用所有3个矢量ALU端口。( https://agner.org/optimize/ 用于说明表和UARCH指南。) 您的代码应该如下所示:
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |