作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
指针偏移量会花费额外的时间吗?哪个更好?
mov rcx, length
dec rcx
mov rax, qword ptr [rsi+rcx*8]
mov rcx, length
mov rax, qword ptr [rsi+rcx*8-8]
最佳答案
应优先考虑使用杂项,在现代体系结构中,这可能会更快,但永远不会更慢。
少一指令。指令解码是有限的资源。
代码序列的长度短一字节,因为偏移量在char范围内。这需要较少的缓存。
依赖链短了一条指令。在第一个序列中,地址计算j不必等待减量的结果。
地址计算以单独的单位进行。使用复杂的寻址模式时不会造成速度损失。
另一方面,递减的机会可能会被重新排序以便更早执行,因此不会在速度上有所不同。
在http://www.agner.org/optimize/#manuals上查看更多背景信息。
关于optimization - 使用指针偏移量比在汇编程序中递减速度快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9252512/
不知道这是不是一个正确的问题,但出于好奇,我想知道哪个会被快速搜索。例如- John 或 我已经存储了数百万个文本作为属性值,尽管字符大小不够大。以上只是为了更好地理解这个问题的一个
我有一张表,里面有大约 500,000 个用户。当我使用我的 Rails 3.0 控制台并输入 User.first 我立即得到结果。但是当我输入 User.first(1) 需要几秒钟。可能是什么原
我是一名优秀的程序员,十分优秀!