Loading…

Compact Encodings of List Structure

List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide...

Full description

Saved in:
Bibliographic Details
Published in:ACM transactions on programming languages and systems 1979-10, Vol.1 (2), p.266-286
Main Authors: Bobrow, Daniel G., Clark, Douglas W.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13
cites cdi_FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13
container_end_page 286
container_issue 2
container_start_page 266
container_title ACM transactions on programming languages and systems
container_volume 1
creator Bobrow, Daniel G.
Clark, Douglas W.
description List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide more space-efficient encodings without losing the flexibility inherent in list structures. The basic scheme is to provide compact pointer fields big enough to accommodate most values that occur in them and to provide "escape" mechanisms for exceptional cases. Several examples of encoding designs are presented and evaluated, including two designs currently used in Lisp machines. Alternative escape mechanisms are described, and various questions of cost and implementation are discussed. In order to extrapolate our results to larger systems than those measured, we propose a model for the generation of list pointers and we test the model against data from two programs. We show that according to our model, list structures with compact cdr fields will, as address space grows, continue to be compacted well with a fixed-width small field. Our conclusion is that with a microcodable processor, about a factor of two gain in space efficiency for list structure can be had for little or no cost in processing time.
doi_str_mv 10.1145/357073.357081
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_28854060</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>28854060</sourcerecordid><originalsourceid>FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13</originalsourceid><addsrcrecordid>eNo9kM9LxDAQhYMoWFePHrwVBG9dM20mmxxlWX9AwYN6DjGZSGXbrEl78L93ly6eHsP7GB4fY9fAlwAC7xtc8VWzPISCE1YAoqoE6uaUFRykqLiu8Zxd5PzNOQeFqmC369jvrBvLzeCi74avXMZQtl0ey7cxTW6cEl2ys2C3ma6OuWAfj5v39XPVvj69rB_aytaCQ6VBgPAopVdN8FqKoIEIhSThvSWPhymo9gcJVysnHWDQFD51TQ0SNAt2N__dpfgzUR5N32VH260dKE7Z1Eqh4JLvwWoGXYo5Jwpml7repl8D3BxUmFmFmVXs-ZuZt67_R4_dHxDBVxY</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>28854060</pqid></control><display><type>article</type><title>Compact Encodings of List Structure</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Bobrow, Daniel G. ; Clark, Douglas W.</creator><creatorcontrib>Bobrow, Daniel G. ; Clark, Douglas W.</creatorcontrib><description>List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide more space-efficient encodings without losing the flexibility inherent in list structures. The basic scheme is to provide compact pointer fields big enough to accommodate most values that occur in them and to provide "escape" mechanisms for exceptional cases. Several examples of encoding designs are presented and evaluated, including two designs currently used in Lisp machines. Alternative escape mechanisms are described, and various questions of cost and implementation are discussed. In order to extrapolate our results to larger systems than those measured, we propose a model for the generation of list pointers and we test the model against data from two programs. We show that according to our model, list structures with compact cdr fields will, as address space grows, continue to be compacted well with a fixed-width small field. Our conclusion is that with a microcodable processor, about a factor of two gain in space efficiency for list structure can be had for little or no cost in processing time.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/357073.357081</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Data types and structures ; General programming languages ; Language features ; Software and its engineering ; Software notations and tools</subject><ispartof>ACM transactions on programming languages and systems, 1979-10, Vol.1 (2), p.266-286</ispartof><rights>ACM</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13</citedby><cites>FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Bobrow, Daniel G.</creatorcontrib><creatorcontrib>Clark, Douglas W.</creatorcontrib><title>Compact Encodings of List Structure</title><title>ACM transactions on programming languages and systems</title><addtitle>ACM TOPLAS</addtitle><description>List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide more space-efficient encodings without losing the flexibility inherent in list structures. The basic scheme is to provide compact pointer fields big enough to accommodate most values that occur in them and to provide "escape" mechanisms for exceptional cases. Several examples of encoding designs are presented and evaluated, including two designs currently used in Lisp machines. Alternative escape mechanisms are described, and various questions of cost and implementation are discussed. In order to extrapolate our results to larger systems than those measured, we propose a model for the generation of list pointers and we test the model against data from two programs. We show that according to our model, list structures with compact cdr fields will, as address space grows, continue to be compacted well with a fixed-width small field. Our conclusion is that with a microcodable processor, about a factor of two gain in space efficiency for list structure can be had for little or no cost in processing time.</description><subject>Data types and structures</subject><subject>General programming languages</subject><subject>Language features</subject><subject>Software and its engineering</subject><subject>Software notations and tools</subject><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1979</creationdate><recordtype>article</recordtype><recordid>eNo9kM9LxDAQhYMoWFePHrwVBG9dM20mmxxlWX9AwYN6DjGZSGXbrEl78L93ly6eHsP7GB4fY9fAlwAC7xtc8VWzPISCE1YAoqoE6uaUFRykqLiu8Zxd5PzNOQeFqmC369jvrBvLzeCi74avXMZQtl0ey7cxTW6cEl2ys2C3ma6OuWAfj5v39XPVvj69rB_aytaCQ6VBgPAopVdN8FqKoIEIhSThvSWPhymo9gcJVysnHWDQFD51TQ0SNAt2N__dpfgzUR5N32VH260dKE7Z1Eqh4JLvwWoGXYo5Jwpml7repl8D3BxUmFmFmVXs-ZuZt67_R4_dHxDBVxY</recordid><startdate>19791001</startdate><enddate>19791001</enddate><creator>Bobrow, Daniel G.</creator><creator>Clark, Douglas W.</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19791001</creationdate><title>Compact Encodings of List Structure</title><author>Bobrow, Daniel G. ; Clark, Douglas W.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1979</creationdate><topic>Data types and structures</topic><topic>General programming languages</topic><topic>Language features</topic><topic>Software and its engineering</topic><topic>Software notations and tools</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Bobrow, Daniel G.</creatorcontrib><creatorcontrib>Clark, Douglas W.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bobrow, Daniel G.</au><au>Clark, Douglas W.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Compact Encodings of List Structure</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><stitle>ACM TOPLAS</stitle><date>1979-10-01</date><risdate>1979</risdate><volume>1</volume><issue>2</issue><spage>266</spage><epage>286</epage><pages>266-286</pages><issn>0164-0925</issn><eissn>1558-4593</eissn><abstract>List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide more space-efficient encodings without losing the flexibility inherent in list structures. The basic scheme is to provide compact pointer fields big enough to accommodate most values that occur in them and to provide "escape" mechanisms for exceptional cases. Several examples of encoding designs are presented and evaluated, including two designs currently used in Lisp machines. Alternative escape mechanisms are described, and various questions of cost and implementation are discussed. In order to extrapolate our results to larger systems than those measured, we propose a model for the generation of list pointers and we test the model against data from two programs. We show that according to our model, list structures with compact cdr fields will, as address space grows, continue to be compacted well with a fixed-width small field. Our conclusion is that with a microcodable processor, about a factor of two gain in space efficiency for list structure can be had for little or no cost in processing time.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/357073.357081</doi><tpages>21</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0164-0925
ispartof ACM transactions on programming languages and systems, 1979-10, Vol.1 (2), p.266-286
issn 0164-0925
1558-4593
language eng
recordid cdi_proquest_miscellaneous_28854060
source Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)
subjects Data types and structures
General programming languages
Language features
Software and its engineering
Software notations and tools
title Compact Encodings of List Structure
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-22T18%3A27%3A17IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Compact%20Encodings%20of%20List%20Structure&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Bobrow,%20Daniel%20G.&rft.date=1979-10-01&rft.volume=1&rft.issue=2&rft.spage=266&rft.epage=286&rft.pages=266-286&rft.issn=0164-0925&rft.eissn=1558-4593&rft_id=info:doi/10.1145/357073.357081&rft_dat=%3Cproquest_cross%3E28854060%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a2401-91414d566d83fd964f91ee546e4ddaed54593584dde4c28c6c15f9efb92e35e13%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=28854060&rft_id=info:pmid/&rfr_iscdi=true