私は perl を初めて使用するわけではありませんが、このユースケースを解決できませんでした。
ここに私の問題文があります:
Activestate perl 5.12 32 ビットを使用しています。一度に 32 x 8MB の double の配列をメモリに保持したいと考えています。残念ながら、この場合、「メモリ不足」エラーが発生します。たとえば、次のコードはメモリ不足につながります。
my $aref1 = [(.25) x (8*1024*1024)];
my $aref2 = [(.25) x (8*1024*1024)];
my $aref3 = [(.25) x (8*1024*1024)];
my $aref4 = [(.25) x (8*1024*1024)];
my $aref5 = [(.25) x (8*1024*1024)];
my $aref6 = [(.25) x (8*1024*1024)];
my $aref7 = [(.25) x (8*1024*1024)];
my $aref8 = [(.25) x (8*1024*1024)];
my $aref9 = [(.25) x (8*1024*1024)];
my $aref10 = [(.25) x (8*1024*1024)];
効率的に処理する方法はありますか?
注:いずれにせよ、配列へのアクセスは、実行時にいつでも可能な限り高速に行う必要があります (ユーザーはそれほど長く待つことができないため)。
私が試したオプション:
- DBM::Deep - 時間がかかる
- PDL - double の 32 x 8MB 配列で「メモリ不足」エラーが発生する
貴重なご提案お待ちしております!