66得票3回答
告诉gcc特定展开一个循环。

如何告诉GCC展开特定的循环? 我已经使用了CUDA SDK,其中可以使用#pragma unroll手动展开循环。是否有类似的功能适用于gcc?我搜索了一下,但找不到相关信息。

18得票2回答
按行而非列取消数据框的列表。

这是一个相对简单的问题,但它的答案似乎让我困扰了。目前,我有一个类似于以下数据框的数据: 0 0 0 1 1 0 1 0 1 1 2 1 1 0 3 我正试图将这个数据转换为单行数据,按行排列。我使用了 unlist 函数,它确实实现了我的...

16得票2回答
Scala中的splat运算符除了用于varargs参数之外,还有其他用途吗?

例如给定:scala> def pipes(strings:String*) = strings.toList.mkString("|") 我可以正常调用的函数:scala> pipes("foo", "bar") res1: String = foo|bar 或者使用展开语法:s...

11得票1回答
如果循环次数不是常数,为什么我的#pragma-unrolled循环性能会下降?

我有以下使用循环展开的代码:#pragma unroll for (int i=0;i<n;i++) { .... } 如果n是一个已定义的常量,一切都很正常。然而,如果n是一个变量,则性能显著降低。我注意到大约要执行和发出3倍的指令。我想我正在寻找一种在运行时进行循环展开的方式...

8得票1回答
gcc是否会自动“展开”if语句?

假设我有一个循环,看起来像这样: for(int i = 0; i < 10000; i++) { /* Do something computationally expensive */ if (i < 200 && !(i%20)) { ...