目前生成 X86 程序集的编译器状况如何?
每当我与从事实时性能工作的人交谈时,他们往往会指出生成的 X86 汇编指令效率不高。 随着像 VMX 这样的东西即将出现,我不得不问,商业 C++ 编译器使…
O=Deparse 如何工作,Perl 是否具有和折叠常量数组?
我想知道,-MO=Deparse 是否向您展示了所有 Perl 优化,以及为什么在 Perl 5.10 中没有折叠这些优化? $ perl -MO=Deparse -e'[qw/foo bar baz/]->[…
a = -2147483648 - a;编译器优化
我正在尝试学习如何对软件进行逆向工程以及所有技巧来了解编译器优化之前代码的外观。 我多次发现类似的情况: if (a < 0) a = -2147483648 - a 我…
Java编译器对重复方法调用的优化?
java编译器(JDK1.6.0_21中默认的javac)是否优化代码以防止使用相同的参数一遍又一遍地调用相同的方法?如果我编写此代码: public class FooBar { p…
编译器是否能够将 try/catch 优化为简单的 goto?
在我看来,如果你有一些像这样的 C++ 代码: int f() { try { if( do_it() != success ) { throw do_it_failure() } } catch( const std::exception &…
将双精度类型传递给 ceil 会导致 GCC 中不同优化级别的不同值
下面,result1 和 result2 变量值报告不同的值,具体取决于是否 您在 GCC 4.2.1 和 GCC 3.2.0 上使用 -g 或 -O 编译代码(我没有尝试更新的 GCC 版本…
Visual Studio 2008 不对齐堆栈变量?
我正在尝试读取 OpenCV 2.1、VS2008 标准中的 avi 文件 2 天,但没有成功。我不断在程序控制台中收到此消息: 编译器未对齐堆栈变量。 Libavcodec 编…
在 Visual Studio 中哪里可以修改详细的 C# 编译器优化设置?
在Visual Studio C/C++项目中,可以很容易地在“属性页|C/C++|优化”中修改编译器的优化设置。例如,我们可能会给出不同的优化级别,例如/O2和/O3,以…
Visual C++ 的性能如何? 2008/2010 编译器优化?
我只是想知道 MSVC++ 编译器可以优化代码(带有代码示例)有多好,或者他不能优化什么以及为什么。 例如,我将 SSE 内在函数与类似的东西一起使用(va…
__assume 的一些示例会导致比“无默认值”更快的代码在开关?
__assume 的文档表示“__assume 最常见的用法是使用 switch 语句的默认情况,如以下示例所示。 ”。 是否有任何其他情况下 __assume 可以导致更高效(…
控制 C 中内存映射寄存器的读写访问宽度
我正在使用基于 x86 的核心来操作 32 位内存映射寄存器。仅当 CPU 对此寄存器生成 32 位宽读取和写入时,我的硬件才能正确运行。该寄存器在 32 位地址…
gcc 中的共享库是否可以进行配置文件引导优化?
我最近在 Linux 上推出了一个新的工具链,其中包括 gcc 4.5.0 和 binutils 2.20 with gold。现在我对PGO这个新东西很好奇。虽然很清楚它如何与可执行…