5

BigarrayC とのインターフェイスが問題にならない場合に使用することの欠点は何ですか? 特に小さい 2D 行列の場合、遅くなりますか?

4

2 に答える 2

7

実装を調べた限りでは、有効期間の短い配列を多数作成すると、bigarray の方が遅くなる可能性があると言えます。それらのメモリは、短命のオブジェクトを非常にうまく処理する通常のOCaml GCの外で管理されているようです。

また、bigarray へのアクセスはインライン化されていませんが、組み込み配列へのアクセスはインライン化されています。

一方、組み込みの配列は、2 次元に対して余分な間接性を持つことになります。

パフォーマンスが本当に重要な場合は、おそらく特定のアプリケーションのベンチマークを行う必要があります。

于 2012-10-29T15:49:04.860 に答える
3

主な欠点は型にあります-bigarraysはプリミティブ型の小さなサブセットのみを保持できます

于 2012-10-29T15:48:13.063 に答える