16得票6回答
能否将lambda表达式内联?

我想内联一个Lambda表达式,因为它非常简短,可以提高性能。这个可行吗?

15得票2回答
在函数式语言中,部分求值和函数内联有什么区别?

我知道: 函数内联是用函数定义替换函数调用的过程。 部分求值是在编译时评估程序中已知(静态)部分的过程。 在像C这样的命令式语言中,操作符与函数是不同的。但在Haskell等函数式语言中,操作符也是函数,那么在这类语言中它们有什么区别吗? 这两种技术之间的唯一区别是函数内联可以在程序...

14得票1回答
表达式模板没有完全内联化

我完成了第一个版本的数学库,接下来我想使用表达式模板来提高代码的性能。然而,我的初始结果与我预期的不同。我正在使用MSVC 2010编译,在普通的Release模式下(并且可以使用C++0x)。 提前道歉因为我将向您展示大量的代码,尽管让人们查看我的工作是最小化的。#include <a...

14得票1回答
将 MethodImplOptions.AggressiveInlining 应用于 F# 函数

属性 System.Runtime.CompilerServices.MethodImplAttribute 可以用于给JIT编译器提供关于如何处理修饰方法的提示。特别地,选项 MethodImplOptions.AggressiveInlining 指示编译器在可能的情况下内联受影响的方法。...

13得票1回答
C#优化器性能差?

我刚刚写了一个小例子来检查C#编译器的优化器在索引器的情况下的行为。这个例子很简单——我只是把一个数组封装在一个类里,然后尝试填充它的值:一次是直接填充,一次是通过索引器填充(内部访问数据的方式与直接解决方案完全相同)。 public class ArrayWrapper { ...

13得票2回答
如何防止Postgres内联子查询?

这是一个关于Postgres 9.1.6的慢查询,尽管最大计数为2,但两行数据已经通过它们的主键进行了标识:(4.5秒) EXPLAIN ANALYZE SELECT COUNT(*) FROM tbl WHERE id IN ('6d48fc431d21', 'd9e659e756ad')...

12得票6回答
C++启发式算法用于估计函数内联的效益

在C++中,当一个函数被频繁调用并且占程序执行时间的>=10%时(例如暴力或随机优化过程的评估函数),有什么好的启发式方法来估计内联函数的计算时间收益。尽管最终是否内联超出我的控制,但我仍然很好奇。

11得票2回答
Android Proguard无法内联代码

我正在使用最新的 Android SDK(4.1),并尝试使用启用了 Proguard 的签名 jar 进行导出。然而,在反编译经过优化的 APK 后,我注意到那些我本来希望被内联的方法却没有被内联。 我知道 Proguard 已运行,因为代码已正确混淆。因此,为了确认这一点,我向我的 Ac...

11得票2回答
使用gcc编译出现了大幅度的性能下降,可能与内联函数有关。

我目前在使用 gcc(测试版本:4.8.4)时遇到了一些奇怪的问题。 我的代码是面向性能的,而且运行速度非常快。它的速度在很大程度上取决于内联许多小函数。 由于跨多个.c文件进行内联比较困难(-flto还不普及),因此我将许多小函数(通常每个函数1到5行代码)放入一个公共C文件中,在其中开...

11得票3回答
递归函数的内联化

当我尝试编译这段代码时:#include <iostream> #include <limits.h> // End recursive template-expansion of function select below. template <typenam...