|
|
1
49
使用相同的控制和数据结构,产生:
我没有您的测试套件,但这会产生以下ASM:
看起来不错。这是一种代码
不过,gcc展开循环,唯一的方法是通过模板haskell或手动展开。如果你做了很多这样的事情,你可能会认为这是(一个th宏)。 实际上,ghc llvm后端确实展开了循环:—) 最后,如果你真的喜欢最初的haskell版本,用 stream fusion combinators, GHC将把它转换回循环。(为读者做练习)。 |
|
|
2
8
在优化工作之前,我不会说您的原始翻译是用haskell表达C代码所做工作的最惯用方法。 如果我们改为从以下步骤开始,优化过程将如何进行:
|
|
|
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 9 月前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 10 月前 |
|
|
D W · Python-将浮点数从2转换为10到100位小数 11 月前 |
|
|
Bartol · 确定python龟图形中的角度 1 年前 |
|
|
randomAlgo · 将弹簧设置为相同长度的成本最低 1 年前 |
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 1 年前 |
|
Sergio · python中大量数字的乘法 1 年前 |