什么才是真正性能更高的? Haskell 或 OCaml [关闭]

2024-04-06

我花了过去 18 个月的时间来掌握函数式编程,从学习 OCaml 开始,现在又花了几周时间学习 Haskell。现在我想采取下一步并实现一些实际应用:一个简单的实时地形编辑器。我已经编写了许多实时地形渲染引擎,所以这是一个熟悉的话题。并且所使用的递归算法和数据结构似乎非常适合功能实现。

由于这是一个实时应用程序,我自然会寻求可以获得的最佳性能。现在 OCaml 的一些支持者经常抱怨 Haskell 比 OCaml 或 F# 慢。但根据计算机语言基准游戏 http://benchmarksgame.alioth.debian.org/Haskell 经常击败 OCaml,即使只是以很小的分数。仍然存在一个问题,即该基准测试仅采用非常具体的样本。

当然,正确的做法是用两种语言实现该程序并进行比较,但我只是不想做双倍的工作。

但也许其他人在 OCaml 和 Haskell 中做了类似的应用程序并提供了一些统计数据?


从各方面来看,OCaml 和 Haskell 都拥有足够高性能的编译器和运行时,几乎可以处理任何事情。在我看来,纯粹根据性能在它们之间进行选择似乎很愚蠢。您已经走到这一步了——以更清晰、更简洁、更具表现力、更高级的代码为名,远离了明显最低级和高性能的语言(C、C++ 等)。那么,当所涉及的性能差异要小得多时,为什么现在要切换到该标准呢?

我会采用一些更广泛的标准——如果你想要普遍的并行性,那么 Haskell 是更好的选择。如果您想要真正普遍的突变,那么 OCaml 会更好。

如果你最多只想要非常粗略的并行性,并且你打算坚持使用大部分功能结构,那么可以根据其他东西进行选择,比如语法(我认为 Haskell 在这里更好,但这是主观的)或可用的库(Haskell 在数量上获胜) /可用性,但 OCaml 可能会在图形部门中脱颖而出)。

我认为无论哪种方式你都不会出错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么才是真正性能更高的? Haskell 或 OCaml [关闭] 的相关文章

随机推荐