Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Unrolling Lists3 Zhong Shaoy

Summary: Unrolling Lists3
Zhong Shaoy
John H. Reppyz
Andrew W. Appely
Princeton University AT&T Bell Laboratories Princeton University
Princeton University CS-TR-453-94
March 1994
Lists are ubiquitous in functional programs, thus sup-
porting lists eciently is a major concern to compiler
writers for functional languages. Lists are normally rep-
resented as linked cons cells, with each cons cell contain-
ing a car (the data) and a cdr (the link); this is ine-
cient in the use of space, because 50% of the storage is
used for links. Loops and recursions on lists are slow on
modern machines because of the long chains of control
dependences (in checking for nil) and data dependences
(in fetching cdr elds).
We present a data structure for \unrolled lists," where
each cell has several data items (car elds) and one link


Source: Appel, Andrew W. - Department of Computer Science, Princeton University


Collections: Computer Technologies and Information Sciences