Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Bigarray当与 C 接口不是问题时,使用的缺点是什么?它们是否较慢,尤其是对于小型 2D 矩阵?
Bigarray
仅基于查看实现,我会说如果您创建大量短期数组,bigarrays 可能会更慢。看起来它们的内存是在通常的 OCaml GC 之外进行管理的,它非常好地处理短期对象。
您还可能会发现对 bigarrays 的访问不是内联的,而对内置数组的访问是内联的。
另一方面,内置数组将对二维有额外的间接性。
如果性能真的很重要,您可能必须对您的特定应用程序进行基准测试。
主要的缺点就在类型中 - bigarrays 只能保存原始类型的一小部分