Pri*_*NAI 11 scala value-class
在有关Scala值类的文档中,提到有三种情况需要实际为实例分配一个值实例:
分配摘要
在以下情况下实际实例化值类:
- 值类被视为另一种类型.
- 值类被分配给数组.
- 进行运行时类型测试,例如模式匹配.
编译器或语言功能中是否有设置,当需要实例化值类时会产生警告?
不,目前还没有。
然而,很少值得为这种微观优化而烦恼。
如果您有一些非常非常热的代码并且需要尽可能优化它,那么只需尝试一些事情并重新进行基准测试即可。
如果代码足够热,JIT 编译器会在很多时候改变代码在机器级别所做的事情。
分配值类的开销通常甚至无法测量,除非它是线程正在做的唯一事情。请参阅https://groups.google.com/forum/#!topic/scala-user/XdQnbcs2SRM,了解一些无法衡量价值类别分配的基准。