具有高效数字数据类型的垃圾收集语言

Garbage-collected languages with efficient numeric data types

我正在寻找一个 language/library(最好是基于 JVM 的),它可以方便高效地处理数值(整数和浮点数)。

当前语言的不足:

是否有一种语言可以同样方便但高效地处理原语(与该语言的一般性能相比)?

C# 符合标准,具体取决于您所说的效率要求。当然,它不会 运行 在 JVM 上。

与通过类型擦除实现泛型的 Java 不同,C# 像 C++ 一样通过具体化实现泛型。这意味着当您创建 List<int> 时,底层数组将是 int 的数组,而不是对象数组。此外,实现所有 List 方法的代码将专门针对 List<int> 进行编译,并且可以利用特定于 int 的优化。

因此,当您使用所有方便的语言功能时,在 C# 中使用基本类型处理数据通常比在 Java 中更快。然而,它仍然与 C++ 所能达到的效果相去甚远,因为防止缓冲区溢出 运行 的 运行 时间检查等并不是免费的。