gpt4 book ai didi

language-agnostic - 当提到 'Number Crunching' 时, 'intensive' 有多密集?

转载 作者:行者123 更新时间:2023-12-04 23:26:45 28 4
gpt4 key购买 nike

我目前正在阅读/学习 Erlang,并且经常注意到它(真的)不适合“繁重的数字运算”。现在我经常遇到这个词或类似的词,但从来不知道“重”到底是什么意思。

如何判断一项操作是否是计算密集型的?可以在测试前量化吗?

编辑:

计算量、算法的复杂性或输入值的大小之间是否存在差异。

例如 1000 computaions of 28303 / 4对比 100 computations of 239847982628763482 / 238742

最佳答案

当您专门谈论 Erlang 时,我怀疑您通常希望开发需要使用它进行大量数字运算的应用程序。也就是说 - 你不会学习 Erlang 在其中编写物理引擎。所以不要担心 Erlang 对你来说太慢了。

从 Erlang 到一般问题,这些事情几乎总是归结为相对论。让我们忽略数字运算并询问有关编程的一般问题:多快才够快?

好吧,足够快取决于:

  • 您想对应用程序做什么
  • 你想多久做一次
  • 您的用户期望它发生的速度有多快

  • 如果在某些程序中读取文件需要 1 毫秒或 1000 毫秒 - 1000 毫秒是否被视为“太慢”?

    如果必须快速连续读取十个文件 - 是的,可能太慢了。想象一个 XML 解析器只需 1 秒钟即可从磁盘读取 XML 文件 - 太可怕了!

    另一方面,如果只有在用户每 15 分钟左右手动单击一个按钮时才需要读取文件,那么这不是问题,例如在 Microsoft Word 中。

    没有人确切地说太慢的原因是因为它并不重要。您的具体问题也是如此。一种语言应该很少(如果有的话)因为“慢”而被回避。

    最后但并非最不重要的一点是,如果你在 Erlang 中开发了一些可怕的项目,并且在 future 的道路上,你会意识到那个 dagnabbit!你真的需要处理这些数字——然后你做你的研究,找到好的库并用最适合它的语言实现算法,然后与那个小库互操作。

    关于language-agnostic - 当提到 'Number Crunching' 时, 'intensive' 有多密集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691318/

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