为什么 Scala 标准库中 @specialized 的东西这么少?

2024-04-04

我已经搜索过使用@specialized在Scala 2.8.1标准库的源代码中。看起来只有少数特征和类使用此注释:Function0, Function1, Function2, Tuple1, Tuple2, Product1, Product2, AbstractFunction0, AbstractFunction1, AbstractFunction2.

没有一个集合类是@specialized。为什么不?这会产生太多的类吗?

这意味着使用具有原始类型的集合类是非常低效的,因为会发生很多不必要的装箱和拆箱。

拥有不可变列表或序列的最有效方法是什么(使用IndexedSeq特点Ints,避免装箱和拆箱?


专业化对班级规模的成本很高,因此必须慎重考虑。就收藏的具体情况而言,我想影响将会是巨大的。

尽管如此,这仍然是一项持续的努力——Scala 库才刚刚开始专业化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Scala 标准库中 @specialized 的东西这么少? 的相关文章

随机推荐