compiler-optimization 相关问题

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

C编译器如何实现返回大型结构的函数?

函数的返回值通常存储在堆栈或寄存器中。但是对于大型结构,它必须处于堆栈中。对于此代码,在真正的编译器中必须进行多少复制? ...

回答 5 投票 24

Clang是否会误解'const'指针说明符?

在下面的代码中,我看到clang无法在没有隐式限制指针说明符的情况下执行更好的优化:#include #include #include ...

回答 1 投票 0

[C ++算法循环融合优化

我偶尔发现在我的代码中,我会有一个数据结构,我想从中获取两个或多个值,每个值都可以使用标准算法提取。问题是,要使用...

回答 1 投票 2

gcc中的速度关键部分?

我已经在使用-O3了,所以我一般认为我不能做得更好,但是生成的程序集仍然非常适合时序要求。例如,是否有办法告诉avr-gcc ...

回答 1 投票 1

获得GCC以32位代码(-m32)使用AVX吗?

我有一个C程序,该程序只能在要编译代码的Ivy Bridge CPU上运行,在gcc 4.8上,我尝试使用-march = native进行编译,以利用CPU的所有特定指令。我...

回答 2 投票 2


如何编写编译器“可理解的” C代码?

最近,我不得不为关键的实时功能编写代码,并且我只使用了__builtin _...个功能。我了解此类代码不可移植,因为并非所有编译器都支持“ ...

回答 2 投票 1

用于单核的英特尔编译器标志

我注意到在我看来,大多数包含矩阵/矩阵和矩阵/矢量乘法的fortran代码都有令人惊讶的行为。最初,代码是使用gfortran和...

回答 1 投票 0

泛型编译时评估和方法内联

假设我有以下方法:[MethodImpl(MethodImplOptions.AggressiveInlining)] public void EmptyMethod (T inputVariable)其中T:parentType {if(typeof(T)is ...

回答 1 投票 0

编译HAXE完全剥离CPP目标?

如何使用CPP的目标是完全剥离,没有调试插件等编译HAXE代码?除了可以-D DCE =全和--no-痕迹用什么来编译最快和/或最小的可执行文件?

回答 1 投票 5

如何在JVM优化流畅API

在JVM可以优化这段代码请问这个代码获得Java编译器或JVM优化,我问专门为如果这样的代码编写的Java Stream.of进行优化(1,2,3)...

回答 1 投票 1

是否在C双键感叹号(!)++花费更多的CPU时间? [关闭]

我知道这是一个把戏做布尔转换。写这样,当我的问题主要是关于资源成本。将编译器只是忽略了“!!”并直接做隐含布尔转换?

回答 2 投票 0

为什么不编译器优化平凡包装函数指针?

考虑下面的代码片段的#include #包括 空隙__attribute__((noinline始终))calculate1(双&一个,INT X){A + = X; };无效__attribute__((noinline始终))...

回答 2 投票 4

斯威夫特测试版性能:数组排序

我正在执行在斯威夫特测试版的算法,并发现表现得非常差。更深的挖掘后,我意识到的瓶颈之一是作为排序数组一样简单。该...

回答 9 投票 899

是达夫的设备仍然有用吗?

我看到达夫设备只是做循环展开在C. https://en.wikipedia.org/wiki/Duff%27s_device我不知道为什么它仍然是有用的今天。是不是该编译器应该是聪明的...

回答 1 投票 1

在Visual Studio中,如何防止我有用的功能是由编译器优化?

我也可以操作的std :: string和MFC CString的一个模板字符串操作类。它workes精细的调试版本。它的发行版本。根据我的调查,我发现,在...

回答 1 投票 0

POD和非POD类之间的性能差异

我挣扎理解为什么我的编译器(G ++ 8.1.0和铛++ 6.0.0)治疗POD(普通老式数据)和非POD代码不同。测试代码:#include 结构SLONG {INT I; 〜...

回答 1 投票 3

libsvm使用AVX编译而不是AVX

我编译了一个libsvm基准测试应用程序,它使用相同的模型在同一图像上执行svm_predict()100次。 libsvm是静态编译的(MSVC 2017),直接包括svm.cpp和svm.h ...

回答 1 投票 1

为什么GCC不优化a * a * a * a * a * a到(a * a * a)*(a * a * a)?

我正在对科学应用进行一些数值优化。我注意到的一件事是GCC将通过将其编译为* a来优化呼叫pow(a,2),但是呼叫pow(a,6)未被优化并且......

回答 12 投票 2041

现代编译器优化如何将递归转换为返回常量?

当我用g ++编译下面的简单递归代码时,汇编代码只返回i,好像g ++可以像人类一样做一些代数技巧。 int Identity(int i){if(i == 1)return 1; ...

回答 3 投票 15

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