Compressing the Graphs in the G-machine by Tag-Forwarding

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 315
  • Download : 0
G-machine is an efficient implementation of lazy functional languages. It is a fast way to perform the graph reduction. However, it needs a lot of space to store the graphs, which seems an inherent deficiency of graph reduction. In this paper, we propose a way to compress the graphs by forwarding the tag of a graph node to the location of a pointer pointing to the node. A tag is forwarded with the relative address which is used to find the location of data fields of the node. The tag-forwarding is possible only when a graph is allocated at once. Hence, it cannot be applied when some nodes of a graph are allocated before the construction of the whole graph. Nonetheless, we can reduce the heap usage to a certain amount by applying the tag-forwarding to the part of a graph which is allocated at once. The overhead of decoding the tag-forwarded graphs is imposed at run-time. To estimate the overhead some experiments are performed. According to the experimental results, the total heap space used is reduced about thirty percent on average and the run-time overhead of decoding is tolerable comparedd to the griginal G-machine.
Publisher
ASME-AMER SOC MECHANICAL ENG
Issue Date
1998-01
Language
English
Citation

JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINEERING, v.3, no.1, pp.112 - 138

ISSN
1530-9827
URI
http://hdl.handle.net/10203/78015
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0