gpt4 book ai didi

raku - Perl 6 性能是否因使用十进制数的有理数而受到影响

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

我知道 Perl 6 尽可能将小数实现为有理数,以避免大多数其他语言中存在的浮点问题。

有没有人做过基准测试或了解这样做的性能损失?

最佳答案

Does Perl 6 performance suffer by using rationals for decimal numbers


我认为最有用的总体答案是“不,不是真的,但让我详细说明一下”。
如果您不想关心准确性或性能
如果您希望 P6 自动保持十进制计算相当准确和快速,那么只需使用 Rat s。
如果计算一个表达式的总结果的分母涉及一个或多个 P6 Rat s 溢出 64 位,然后 P6 会自动将结果切换为近似 Num (P6 对 double float 的实现)以保持合理的性能。
如果您想保证最高性能
您可以直接对小数使用浮点数据类型。
这产生了通常比合理性能更快的浮点性能。
例如, 3.141592e0不是有理数/十进制文字,而是 Num/ float 文字。
如果你想保证100%的准确率
如果您使用一种内置的有理数数据类型(有限精度 Rat 类;任意精度 FatRat class ;或基础参数化精度 Rational role),那么如果计算,对该数据的数值运算将是 100% 准确的适合分母。
阅读 the wikipedia page on rational data types作为理解使用理性类型的性能影响的起点。

Has anybody done benchmarking or have an understanding of the performance penalty of doing this?


Larry Wall 做出的设计决定导致小数在默认情况下被处理为有理数。他讨论了#perl6 上的性能影响。一些有用的搜索:
  • 'decimal'
  • 'rational'
  • 'float'
  • 'denominator'

  • 如果我找到有用的基准测试的链接,我稍后会添加它们。

    关于raku - Perl 6 性能是否因使用十进制数的有理数而受到影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840840/

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