1
24
为了测试,我刚设置了
|
2
12
尽管这已经很老了,让我插一句,有一个关键的问题以前没有解决过。
首先,我的盒子上不同节目的时间安排。因为我使用的是64位linux系统,所以它们显示出一些不同的特性:使用
那我们有什么?
我使用过的任何C编译器都会转换测试
将其运行时间减少到3.25秒(注:对于
同样的事情
消除列表的构造(在C版本中也没有出现),
因此,Haskell版本与C版本非常接近,不会花费太多时间,它是~1.3的一个系数。 好吧,公平地说,C版本中有一个低效的地方,这在Haskell版本中是不存在的,
出现在内环中。在C版本中,将其从内环中取出将其运行时间减少到0.27秒,使因子约为1.4。 |
3
5
比较可能正在重新计算
答案和计时都比C慢,但它确实使用了任意精度的整数(通过
|
4
4
Haskell的列表是基于堆的,而您的C代码非常紧凑,根本不使用堆。您需要重构以移除对列表的依赖。 |
5
4
即使我有点晚了,这是我的,我删除了对列表的依赖,这个解决方案也没有使用堆。
这篇文章是我用
|
trpnd · 如何定义由两个任意单声道变压器组成的单声道变压器? 2 年前 |
Fabus1184 · Haskell mapM_不打印 2 年前 |
Gotthold · 基于范数约束向量的类型 2 年前 |
jian · haskell将另一个函数用作输入参数 2 年前 |
Jocafrei · 用Haskell函数实现最大公约数函数 6 年前 |