gpt4 book ai didi

scala - 在 Scala 中匹配 - 性能?

转载 作者:行者123 更新时间:2023-12-04 05:02:42 25 4
gpt4 key购买 nike

scala 如何处理 match吗?只是语法糖在字节码级别转换为编译器分支还是隐藏在幕后的一些巧妙技巧?

最佳答案

将整数值(例如 Int、Char)与常量匹配通常被转换为 TableSwitch(O(1) 查找时间通过索引数组)或 LookUpSwitch(O(log n) 查找时间通过二进制搜索)字节码指令。如果您有一个可变模式或通配符模式作为一个包罗万象的分支,情况也会如此。

您可以使用 @switch 注释来确保这确实发生。

对于非整数值,可用的优化稍微有限;然而,就我对编译器代码的理解,编译器至少会检查常见的子条件(它记得)和共享前缀。

关于scala - 在 Scala 中匹配 - 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936976/

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