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

### `heap`

`heap()`
  :: Heap area size currently in use.

return
  non-negative integer

- Command `heap()` returns an integer which is the byte size of current Asir heap area. Heap is a memory area where various data for expressions and user programs of Asir and is managed by the garbage collector. While Asir is running, size of the heap is monotonously non-decreasing against the time elapsed. If it happens to exceed the real memory size, most (real world) time is consumed for swapping between real memory and disk memory.
- For a platform with little real memory, it is recommended to set up Asir configuration tuned for GC functions by `-adj` option at the activation of Asir. (See section Command line options.)

    % 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;

`References`
  section Command line options.

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