As I mentionned in an earlier email to the list (improperly entitled),
I am trying to use LibertyEiffel on a low end system (32-bit, 64K
heap). In that email, I raised the issue of I/O that seem to require
"large" buffers, whereas I would like none or very small ones.
I/O buffers are statically created with default capacities. For example, STD_OUTPUT has a default buffer capacity of 4096 bytes.
Most core libraries are thought with a no_gc flag in mind; they keep and reuse memory instead of releasing it.
The important side-effect is that buffer capacities may grow but never decrease.
The other issue I would like to bring to your kind attention here is
the garbage collector. Since memory size is the first constraint for
me, I would like to trigger collections more often and on lower
thresholds. Currently, I tried to patch the values of RSOC_LIMIT and
FSOC_LIMIT, but I do not fully understand the effects of my
Would someone be knowledgeable enough to enlighten my way?
RSOC means ReSizeable Object Chunk, FSOC means Fixed-Size Object Chunk. The object "chunks" are slices of memory. Resizeable objects are native arrays: each object has its own size. Fixed objects are kept together per type, since each object of a same type has exactly the same size.