如何确定哪个 x86-64 (SSE) 指令更有效?

问题描述

我想优化我的 x86-64 程序。 我如何确定哪些指令是“最好的”? 如何衡量某一段汇编代码比另一段快?

示例 1:

def word_count(sentence):
    return len(sentence.split())
    
df['word_count'] = df['PMID'].apply(word_count)
df.tail(10)

我想将 x 移动到 2 的位置。所以,我可以做到

xmm0 [ 1 | 2 | 3 | 4 ]
xmm1 [ 0 | x | 0 | 0 ]

pslldq xmm1,4                  # like in the picture
shufps xmm0,xmm0,0x39
movss  xmm0,xmm1
shufps xmm0,0x93

blendps  xmm0,xmm1,0x4

或等等。哪个最快/最简单?

示例 2:

我想在不从内存中读取的情况下在 xmm0 中有 1.0。我可以

insertps xmm0,0x50

pcmpeqw xmm0,xmm0
pslld   xmm0,25
psrld   xmm0,2

或等等。哪个最快/最简单?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...