我应该使用什么作为 scala.js 上的数组类型以获得最佳性能?
What should I use for best performance as an Array type on scala.js?
Scala 对数组有一些特殊处理,因为它们由 JVM 的本机数组支持,这增加了它们使用的复杂性 - 特别是,当用作泛型时需要传递 class 清单。它也有一个性能较差的 GenericArray
用于通过那些不可行的。现在,scala.js 不会在 JVM 上 运行,那么所有这些复杂性会发生什么?原始类型的数组是否以未装箱的方式存储它们的值? GenericArray
的性能是否低于 Array
?我应该在 scala.js 上使用什么作为 Array 类型以获得最佳性能?
scala.Array
模拟了 Scala.js 中 JVM 数组的特性。这意味着它们具有相同的复杂性,而且 GenericArray
确实更慢。他们存储所有未装箱的东西。
为了在通用上下文中获得最佳性能,请使用 js.Array
。这不需要 class 标签,也没有通用数组惩罚。然而,Char
s 是装箱的,就像任何泛型类型一样。
Scala 对数组有一些特殊处理,因为它们由 JVM 的本机数组支持,这增加了它们使用的复杂性 - 特别是,当用作泛型时需要传递 class 清单。它也有一个性能较差的 GenericArray
用于通过那些不可行的。现在,scala.js 不会在 JVM 上 运行,那么所有这些复杂性会发生什么?原始类型的数组是否以未装箱的方式存储它们的值? GenericArray
的性能是否低于 Array
?我应该在 scala.js 上使用什么作为 Array 类型以获得最佳性能?
scala.Array
模拟了 Scala.js 中 JVM 数组的特性。这意味着它们具有相同的复杂性,而且 GenericArray
确实更慢。他们存储所有未装箱的东西。
为了在通用上下文中获得最佳性能,请使用 js.Array
。这不需要 class 标签,也没有通用数组惩罚。然而,Char
s 是装箱的,就像任何泛型类型一样。