好吧也许这是一个愚蠢的问题,但我目前正在通过在projecteuler.net上完成问题来学习 haskell 我遇到了一个有趣的观察,并希望有人可以解释为什么事情就像他们一样. 作为参考,我正在实施
我遇到了一个有趣的观察,并希望有人可以解释为什么事情就像他们一样.
作为参考,我正在实施Problem #29
这就是我的想法
nub $[ a^^b | a <- [2..100], b <- [2..100] ]
我观察到使用^^运算符比**快,对于上面列出的输入比^快.
我的问题很简单,为什么?这些运算符中的每一个都适用于不同的类型.我的猜测是有一些类型转换正在发生,但我希望^更快的操作,当它看起来它实际上是对话.
谢谢!
所有的时间都花在了小块上.用^^和**你在[Double]上做nub.使用^它在[Integer]上是nub,并且比较大整数比比较双精度慢.