compiler-optimization 相关问题

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

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

什么是机器级代码,如何查看?

我们知道机器级代码的形式是0,1(二进制)。现在,在c语言编程中使用gcc编写一个程序,如果cmd是-gcc -c ok.c,其中ok.c是一个简单的程序,在c语言中打印 "hi"。

回答 1 投票 0

C++编译器是否对静态变量的顺序读取进行优化?

当这个变量通过const ref访问时,C++编译器是否会优化函数作用域中同一个静态变量的顺序读取?所以CPU会从它的地址中读出它的值,在 ...

回答 2 投票 1

通过使用AVX内在函数重写来提高性能

我有一个简单的数学库,可以链接到在模拟器硬件(32位RTOS)上运行的项目中,并且编译器工具链基于GCC 5.5的变体。主要项目代码在...

回答 1 投票 0


[Android优化NDK函数与Java最终布尔值

我有一些仅适用于内部版本的日志记录代码,并且我在NDK C ++中具有逻辑来决定这是否是内部版本:native boolean isInternalBuild(); void log()...

回答 1 投票 0

嵌套循环针对具有中断条件的单个无限循环

我有两个变体来做一个简单的问题。问题很简单,我们必须将pow2的每个元素与pow3的每个元素相乘,其中pow2和pow3都是携带整数的数组。 ...

回答 1 投票 -2

如果仍可以间接(通过回调函数)执行C函数,则将C函数声明为静态是不正确的做法吗?

我有一个用于嵌入式系统的C模块(foo.c,foo.h),其中包含一个函数my_driver_fn(),从API的角度来看,该函数在作用域内是本地的(例如,不在foo的公共标头中:.. 。

回答 2 投票 4

为什么gcc将只读的单精度浮点值编译为双精度值? [重复]

考虑以下示例。 (CPU:Intel(R)CoreTM i7-4790,gcc(GCC)4.8.5 20150623)//文件test.c #include #include #include int main(){...

回答 1 投票 1

为什么std :: string :: append在本基准测试中比push_back快得多?

给出以下基准:const char * payload =“ abcdefghijk”; const std :: size_t payload_len = 11; const std :: size_t payload_count = 1000;静态void StringAppend(benchmark :: State&state){...

回答 1 投票 2

静态调度OOO处理器

LLVM MISched指令调度程序使用了处理器功能单元,管线和等待时间的声明式TableGen描述。想象一下试图确定编码的等效项...

回答 1 投票 0

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