Fortran操作码映射?或;“大O”;符号还是类似的?

Fortran操作码映射?或;“大O”;符号还是类似的?,fortran,big-o,fortran90,fortran77,opcode,Fortran,Big O,Fortran90,Fortran77,Opcode,我正在寻找某种类型的映射或文件,以说明计算机在Fortran中运行某些内在函数和循环所需的工作量。例如:运行基本if-then语句检查布尔值(或逻辑值)所需的决策量。以及计算基本算术函数(如加法和乘法)需要多少决策 我知道在汇编中,它通常被称为操作码映射,但我意识到时间会根据计算机的速度而有所不同,因此我正在寻找更类似于算法的“大O”符号的东西 我的主要问题是,我正在用10000多个时间步长映射一个粒子在时间中的位置,并将信息写入一个文件中,然后绘制出粒子的轨迹图。我很想知道在这个程序中具体的时

我正在寻找某种类型的映射或文件,以说明计算机在Fortran中运行某些内在函数和循环所需的工作量。例如:运行基本if-then语句检查布尔值(或逻辑值)所需的决策量。以及计算基本算术函数(如加法和乘法)需要多少决策

我知道在汇编中,它通常被称为操作码映射,但我意识到时间会根据计算机的速度而有所不同,因此我正在寻找更类似于算法的“大O”符号的东西


我的主要问题是,我正在用10000多个时间步长映射一个粒子在时间中的位置,并将信息写入一个文件中,然后绘制出粒子的轨迹图。我很想知道在这个程序中具体的时滞是什么,也就是说,if语句天生比循环做更多的决定?我希望我的代码尽可能模块化,语法简单,而不会让程序陷入困境(特别是在将来),因为在超级计算机上运行这些程序通常需要4个多小时。

操作码映射是一个将机器代码字节映射到insn助记符的表。也许你在想一个教学时间表,比如?很少有指令具有与数据相关的定时。在许多CPU中,延迟是可变的,延迟越短,操作就越简单


如果你想知道程序运行得更快,你应该阅读Agner Fog的指南来优化C++,并将其应用到FORTRAN中。我忘了他涵盖了多少高级内容(比如缓存阻塞,又称循环平铺)。

答案可能是“所有内在函数的O(1)”。你有任何明显不正确的例子吗?如果是,请将其包括在您的问题中。这将明确您需要什么。通过一个体面的优化编译器代码,用做相同事情的do循环替换if语句,将生成执行相同(如果不是完全相同)的机器代码。我建议不要担心单个语句的成本,而是担心用这些语句实现的算法的巨大成本。您的链接不起作用,我遇到了一个服务器未找到错误。肯定不是我的网络连接,所以一定是链接。@Kelly:oops,og不是org。这是许多性能问题的答案,我只是键入它,而不是打开并粘贴它。