与C接口时使用Bigarray
的缺点是什么?它们是否较慢,特别是对于小型2D矩阵?
答案 0 :(得分:7)
基于查看实现,我会说如果你创建大量的短期数组,那么bigarrays可能会更慢。看起来它们的内存是在通常的OCaml GC之外进行管理的,它可以非常好地处理短期对象。
您也可能会发现对bigarray的访问没有内联,而对内置数组的访问则是。
另一方面,内置数组将为二维提供额外的间接。
如果性能真的很重要,您可能需要对特定应用程序进行基准测试。
答案 1 :(得分:3)
主要缺点就是类型 - bigarrays只能容纳原始类型的一小部分