gpt4 book ai didi

frege - Frege 中是否有系统的评估上限?

转载 作者:行者123 更新时间:2023-12-04 04:39:40 24 4
gpt4 key购买 nike

出于好奇,我在 Frege 中尝试了以下代码:

println (mydrop 30000000 [1..30000001])

不用说,3000 万个条目的序列有点愚蠢,我对 OOME 没问题。我想看看懒惰评估在这里是否有所作为。结果是,我所有的 8 个内核都以 100% 的速度耗尽并一直停留在那里,直到我硬杀死了该进程。

我是否达到了系统的上限?

我应该提到我使用了真实世界 Haskell 练习中的 mydrop:
mydrop n xs = if n <= 0 || null xs
then xs
else mydrop (n-1) (tail xs)

最佳答案

我知道没有上限。
REPL (try.frege-lang.org) 中的一个简短测试表明我可以达到

drop 16_000_000 [1..16_000_000]

仅在几秒钟后完成。由于这个程序是 O(n),我估计 3000 万的最大执行时间可能是 30 秒,但是对于 32_000_000,我在几秒钟后得到“服务不可用”,这通常暗示免费网络服务的某些限制已用尽.

此外,无论数量如何,上述程序的内存使用量都应该是恒定的。如果没有,我会认为它是一个错误。

--- 编辑 ---

在 2 核 2.9GHz 办公 PC 上试过:效果很好,需要 5.7 秒。 6400万需要10.5s

关于frege - Frege 中是否有系统的评估上限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com