5

Bigarray当与 C 接口不是问题时,使用的缺点是什么?它们是否较慢,尤其是对于小型 2D 矩阵?

4

2 回答 2

7

仅基于查看实现,我会说如果您创建大量短期数组,bigarrays 可能会更慢。看起来它们的内存是在通常的 OCaml GC 之外进行管理的,它非常好地处理短期对象。

您还可能会发现对 bigarrays 的访问不是内联的,而对内置数组的访问是内联的。

另一方面,内置数组将对二维有额外的间接性。

如果性能真的很重要,您可能必须对您的特定应用程序进行基准测试。

于 2012-10-29T15:49:04.860 回答
3

主要的缺点就在类型中 - bigarrays 只能保存原始类型的一小部分

于 2012-10-29T15:48:13.063 回答