performance - Intel 3770K汇编代码——align 16有意想不到的效果
问题描述
我首先在这个问题中发布了这个问题:
从那以后,我在其他一些汇编代码程序中注意到了这一点,其中 align 16 几乎没有效果,或者在某些情况下会使情况变得更糟。在我之前的问题中,我还比较了对齐到 16 的偶数或奇数倍数,在小而紧的循环的情况下存在显着差异。
我遇到此问题的最新示例是使用 4 项 arctan 系列(Machin 类型 forumla)将 pi 计算到大约 100 万位的程序,结合多线程,这是东京大学使用的方法的迷你版本2002 年计算超过 1 万亿位数
http://www.super-computing.org/pi_current.html.en
对齐对计算时间几乎没有影响,但删除它们会使从小数到小数的转换从 7.5 秒减少到 6.8 秒,减少了 9% 以上。在某些情况下重新排列计算代码将时间从 98 秒增加到 109 秒,增加了大约 11%。然而,最糟糕的情况是我之前的问题,根据循环的位置,紧密循环的时间增加了 36.5%。
我想知道这是否特定于我正在运行这些测试的英特尔 3770K 3.5 ghz 处理器。
解决方案
推荐阅读
- php - 使用#!/bin/php 有什么好处?
- python - 如何将动画视频文件(由 matplotlib 创建)传递给 Flask 中的模板文件
- google-people-api - 我们可以在 PHP 的 Google People API 中使用多个范围吗
- cmake - CMake“FILES_MATCHING_PATTERN”复制空目录
- knockout.js - hasFocus knoukoutjs 数据绑定如何在 textarea 表单输入上工作
- php - 如何将选择放入数组中?
- jquery - jquery在一定数量的子元素后删除子元素
- kubernetes - 按计划调整实例组的大小
- java - Android中是否有任何用于网络连接检查的注释处理库?
- abap - 哪个具有更好的性能:SELECT...ENDSELECT (1 by 1) 或 SELECT...INTO TABLE / LOOP AT