Here I would like to present benchmarks associated with my past
post comparing different methods of
summing the first \( n \) numbers. In each case, we benchmarked sum(200),
that is, \( \sum_{i=1}^{200} i \).
This post was inspired by a curious
question on
Twitter: is curry or uncurry more common in Haskell code?
As a follow-up to my post on computing the Levenshtein distance in ATS, I figured I'd write up some of the actual benchmark results, as well as some of the subtleties involved in benchmarking various ecosystems.
Though it does not often get mentioned in the Haskell community, simply
bumping to a new version of GHC can drastically improve the performance of your
code. Here, I have several examples from my
fast-arithmetic
package, which will hopefully give an idea of just how much work has gone into
optimizing code produced by GHC.
Initially, I had written
hackage-fetch to see if there was
any use of
coelgot
anywhere on Hackage. At the time, there was not, but this has changed due
to my gmpint package. As of
writing, it is not surprisingly the only use of co-(Elgot algebra)s on the entirety of Hackage.