compiler-optimization 相关问题

编译器优化涉及调整编译器以减少运行时或对象大小或两者。这可以使用编译器参数(即CFLAGS,LDFLAGS),编译器插件(例如DEHYDRA)或对编译器的直接修改(例如修改源代码)来实现。

针对同一对象重复调用同一函数的虚函数优化

假设有这样一个抽象类: 类基础{ 民众: 虚空 f() = 0; 虚拟 ~Base() = 默认值; }; 还有一些功能: void 函数 (Base& x, bool flag1, bool flag2,

回答 3 投票 0

在 Turbo Pascal 中编译的带有空项目的 COM 文件超过 10 KiB

我对旧 Pascal 版本的二进制大小有疑问。 我们需要非常小的简单程序。我们想在MS-DOS下使用Turbo Pascal 2(更高也是同样的问题)来编译COM文件。 ...

回答 2 投票 0

What's Go cmd option 'gcflags' all possible values

我正在通过内联学习 Go 内存优化。下面的代码是我的测试代码。 我使用 go build -gcflags=-m=2 main.go 来获取所有结果。我按照 Dave Cheney 的帖子来做这件事。 我的

回答 2 投票 0

MSVC:为什么调用静态函数比调用实例方法生成更多的汇编代码?

反汇编我的应用程序时,我注意到与实例方法相比,当我调用静态方法时,MSVC 会生成更多的汇编操作码。即使两个函数都是

回答 0 投票 0

带有 Rust 的窥视孔装配说明模式匹配窗口的更好方式?

所以我正在尝试实现窥孔优化,从 Vec -> Vec 开始,优化返回列表。 (LL 为低电平) 我们的

回答 2 投票 0

LLVM Loop pass - 新的通行证管理器

我正在尝试在 llvm 中创建循环传递 - 使用新的传递管理器。 我在 /llvm/include/llvm/Transforms/Utils/MyLoopPass.h 中放置了一个头文件 头文件的内容如下: #ifn...

回答 0 投票 0

在此阵列访问微基准测试(相对于 GCC)中,Go 的性能降低了 4 倍?

我写这个微基准测试是为了更好地理解 Go 的性能特征,这样我就可以在何时使用它时做出明智的选择。 我认为这将是理想的场景......

回答 2 投票 0

C 中的操作重新排序和签名

我发现了几个讨论有符号和无符号编译器优化的问题。 一般的结论是,由于溢出的未定义行为,signed 允许进行更多优化。 呵呵……

回答 1 投票 0

为什么这个 bevy 项目需要这么长时间才能编译和启动?

我开始按照本教程学习如何制作游戏。代码编译正常,但仍然很慢(老实说我不确定这是否正常,大约需要 8 秒),但是当我...

回答 1 投票 0

Rust 是否检测到重复的闭包(例如在循环中定义的闭包)?

当我需要调用很多失败的函数时,我有时会把它们放在闭包中。 然后我 ?它们并捕获任何特殊变体(其他语言中的异常机制)。 以下是我的解决方案...

回答 2 投票 0

How to stop clang from optimization away autological-undefined-compare?

我正在处理旧代码,其中有很多行,例如: EST_Item_Content *contents() const { return (this == 0) ? 0:p_内容;} 编译此类函数时,clang 警告: 警告:“this”指针

回答 1 投票 0

编译程序在虚拟机中运行时,march和mtune应该设置成什么?

虚拟机从属于主机提供的任何内容,应该向 gcc 提供哪些编译器标志? 我通常认为 -march=native 将是您在编译 f 时使用的...

回答 2 投票 0

在gcc上使用-Ofast标志,分解数学表达式是否会影响速度?

我想知道,在gcc上使用-Ofast标志时,代码x += (a * b) + (c * d) + (e * f); 是否比这段代码更快更慢。x += a * b; x += b * c; x += e * f; 我有一个数学... ...

回答 1 投票 1

忽略指令依赖性的GCC标志

我正在尝试反编译一段代码,显然gcc更喜欢不那么复杂的指令,而不是复杂的指令。看了这个答案后,我怀疑这是因为gcc试图减少...

回答 1 投票 0

如果函数中包含静态变量,为什么编译器可能不执行内联?

我从下面的网站上看到,当函数中有静态变量时,编译器可能不会执行内联。原因是什么?参考资料:https:/www.geeksforgeeks.orginline-functions-cpp...

回答 1 投票 -2

编译器是否决定何时内联我的函数(在C++中)?

我知道你可以使用 inline 关键字,或者只是把一个方法放在类的声明中,比如短 ctor 或 getter 方法,但是编译器是否会最终决定何时内联我的方法?...

回答 9 投票 9

在更好的优化标志和OpenMP之后,向量的计算变得更慢。

考虑下面的Fortran代码程序示例 implicit none integer, parameter :: ik = selected_int_kind(15) integer, parameter :: rk = selected_real_kind(15,307) integer(...)

回答 1 投票 1

std::fabs(a*b)与std::fabs(a) * std::fabs(b)之间的区别。

我正在处理一些数值代码,我在看编译器的输出。有一个特殊的情况让我感到奇怪:在实数中,它认为abs(a) * abs(b) = abs(a * b)。我期望 ...

回答 1 投票 7

-当使用长双数时,Ofast产生不正确的代码。

#include int main(void) { int val = 500; printf("%d\n", (int)((long double)val 500)); printf("%d\n", (int)((long double)500 500)); }。很明显,它应该输出1 1......。

回答 1 投票 2

在不同架构的集群上应该指定哪些AVX和march?

我目前正在尝试使用英特尔编译器编译软件,以便在HPC集群上使用。登录节点,也就是我编译和准备计算的地方,使用的是Intel Xeon Gold 6148处理器, ...。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.