Go to the first, previous, next, last section, table of contents.

### `heap`

`heap()`
  :: 現在のヒープの大きさを返す. (単位:バイト)

return
  自然数

- 現在のヒープの大きさ(単位 : バイト) を返す. ヒープとは, Asir の さまざまな数式や, ユーザプログラムなどがおかれるメモリの領域で, ガーベジ コレクタにより管理されている. プログラムの動作中は, ヒープの大きさは 単調非減少であり, 実メモリの量をこえて大きくなった場合には, OS による スワップエリアへの読み書きがほとんどの計算時間を占めることになる.
- 実メモリが少ない場合には, 起動時の `-adj` オプションにより, GC 主体の設定を行っておく必要がある.

    % asir -adj 16
    [0] load("fctrdata")$
    0
    [97] cputime(1)$
    0msec
    [98] heap();
    524288
    0msec
    [99] fctr(Wang[8])$
    3.190sec + gc : 3.420sec
    [100] heap();
    1118208
    0msec
    [101] quit;
    % asir
    [0] load("fctrdata")$
    0
    [97] cputime(1)$
    0msec
    [98] heap();
    827392
    0msec
    [99] fctr(Wang[8])$
    3.000sec + gc : 1.180sec
    [100] heap();
    1626112
    0msec
    [101] quit;

`参照`
  section コマンドラインオプション.

Go to the first, previous, next, last section, table of contents.