Kd. Nilsen et Wj. Schmidt, A HIGH-PERFORMANCE HARDWARE-ASSISTED REAL-TIME GARBAGE COLLECTION SYSTEM, Journal of programming languages, 2(1), 1994, pp. 1-40
The benefits of high-performance garbage collection include improved p
rogrammer productivity, improved software reliability, and, due to inc
reases in expressive power, increased program functionality. The hardw
are-assisted garbage collection system described supports dynamic memo
ry allocation efficiency that is approximately five times greater than
the efficiency of typical implementations of C's malloc and free func
tions. Though occasional memory fetch and store operations are delayed
by up to 1 mus (six memory cycles), the average time required to resp
ond to a memory operation is nearly indistinguishable from that requir
ed for traditional memory. The worst-case time required to allocate a
new object is less than 1 mus (two memory cycles), regardless of the o
bject's size. Periodically, at predictable times, application processi
ng is suspended by approximately 500 mus (16k CPU cycles) while the CP
U flushes its cache in preparation for the start of another garbage co
llection pass.