Results 1 
3 of
3
List Processing in Real Time on a Serial Computer
 SERIAL COMPUTER, COMM. ACM
, 1977
"... A realtime list processing system is one in which the time required by the elementary list operations (e.g. CONS, CAR, COR, RPLACA, RPLACD, EQ, and ATOM in LISP) is bounded by a (small) constant. Classical implementations of list processing systems lack this property because allocating a list cell ..."
Abstract

Cited by 216 (13 self)
 Add to MetaCart
A realtime list processing system is one in which the time required by the elementary list operations (e.g. CONS, CAR, COR, RPLACA, RPLACD, EQ, and ATOM in LISP) is bounded by a (small) constant. Classical implementations of list processing systems lack this property because allocating a list cell from the heap may cause a garbage collection, which process requires time proportional to the heap size to finish. A realtime list processing system is presented which continuously reclaims garbage, including directed cycles, while linearizing and compacting the accessible cells into contiguous locations to avoid fragmenting the free storage pool. The program is small and requires no timesharing interrupts, making it suitable for microcode. Finally, the system requires the same average time, and not more than twice the space, of a classical implementation, and those space requirements can be reduced to approximately classical proportions by compact list representation. Arrays of different sizes, a program stack, and hash linking are simple extensions to our system, and reference counting is found to be inferior for many applications. Key Words and Phrases: realtime, compacting, garbage collection, list processing, virtual memory, file or database management, storage management, storage
Editors List Processing in Real Time on a Serial Computer
"... A realtime list processing system is one in which the time required by the elementary list operations (e.g. ..."
Abstract
 Add to MetaCart
A realtime list processing system is one in which the time required by the elementary list operations (e.g.
Worst Case Efficient Data Structures for Priority Queues and Deques with Heap Order
"... An efficient amortized data structure is one that ensures that the average time per operation spent on processing any sequence of operations is small. Amortized data structures typically have very nonuniform response times, i.e., individual operations can be occasionally and unpredictably slow, alt ..."
Abstract
 Add to MetaCart
An efficient amortized data structure is one that ensures that the average time per operation spent on processing any sequence of operations is small. Amortized data structures typically have very nonuniform response times, i.e., individual operations can be occasionally and unpredictably slow, although the average time over a sequence is kept small by completing most of the other operations quickly. This makes amortized data structures unsuitable in many important contexts, such as real time systems, parallel programs, persistent data structures and interactive software. On the other hand, an efficient worst case data structure guarantees that every operation will be performed quickly.