Source-level optimization of run-time program generators

We describe our efforts to use source-level rewriting to optimize run-time program generators written in Jumbo, a run-time program generation system for Java. Jumbo is a compiler written in compositional style, which brings the advantage that any program fragment can be abstracted out and compiled t...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Kamin, Samuel, Aktemur, Barış, Morton, Philip
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 308
container_issue
container_start_page 293
container_title
container_volume
creator Kamin, Samuel
Aktemur, Barış
Morton, Philip
description We describe our efforts to use source-level rewriting to optimize run-time program generators written in Jumbo, a run-time program generation system for Java. Jumbo is a compiler written in compositional style, which brings the advantage that any program fragment can be abstracted out and compiled to an intermediate form. These forms can be put together at run-time to build complete programs. This principle provides a high level of flexibility in writing program generators. However, this comes at the price of inefficient run-time compilation. Using source-level transformations, we optimize the run-time generation of byte code from fragments, achieving speedups of 5–15%. We discuss the optimization process and give several examples.
doi_str_mv 10.1007/11561347_20
format Conference Proceeding
fullrecord <record><control><sourceid>pascalfrancis_acm_b</sourceid><recordid>TN_cdi_pascalfrancis_primary_17182862</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>17182862</sourcerecordid><originalsourceid>FETCH-LOGICAL-a283t-3daab06588b05bdf18c986fa5ac512c661c6f98fe396878451053e5903ef7a533</originalsourceid><addsrcrecordid>eNqN0D1PwzAQBmDzJVFKJ_5ABhhACvhy8ddYVXxJlRiA2XJcuwokcWSnSPDrSVUGFiRuOeneRze8hJwBvQZKxQ0A44Cl0AXdIzMlJLKSIighYJ9MgAPkiKU6ICfboFCAkh2SCUVa5EqUeExmKb3RcRDEmE6IfA6baF3euA_XZKEf6rb-MkMduiz4LG66fLy4rI9hHU2brV3nohlCTKfkyJsmudnPnpLXu9uXxUO-fLp_XMyXuSkkDjmujKkoZ1JWlFUrD9Iqyb1hxjIoLOdguVfSO1RcClkyoAwdUxSdF4YhTsnF7m9vkjWNj6azddJ9rFsTPzUIkIXkxegudy6NUbd2UVchvCcNVG-r07-qG-3Vzhrb_s10FWvnR3z-D4zfENVxbg</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Source-level optimization of run-time program generators</title><source>Springer Books</source><creator>Kamin, Samuel ; Aktemur, Barış ; Morton, Philip</creator><contributor>Glück, Robert ; Lowry, Michael ; Lowry, Michael ; Glück, Robert</contributor><creatorcontrib>Kamin, Samuel ; Aktemur, Barış ; Morton, Philip ; Glück, Robert ; Lowry, Michael ; Lowry, Michael ; Glück, Robert</creatorcontrib><description>We describe our efforts to use source-level rewriting to optimize run-time program generators written in Jumbo, a run-time program generation system for Java. Jumbo is a compiler written in compositional style, which brings the advantage that any program fragment can be abstracted out and compiled to an intermediate form. These forms can be put together at run-time to build complete programs. This principle provides a high level of flexibility in writing program generators. However, this comes at the price of inefficient run-time compilation. Using source-level transformations, we optimize the run-time generation of byte code from fragments, achieving speedups of 5–15%. We discuss the optimization process and give several examples.</description><edition>1ère éd</edition><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 3540291385</identifier><identifier>ISBN: 9783540291381</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 9783540319771</identifier><identifier>EISBN: 3540319778</identifier><identifier>DOI: 10.1007/11561347_20</identifier><language>eng</language><publisher>Berlin, Heidelberg: Springer-Verlag</publisher><subject>Abstract Syntax ; Applied sciences ; Computer science; control theory; systems ; Denotational Semantic ; Exact sciences and technology ; Java Virtual Machine ; Partial Evaluation ; Program Generation ; Software ; Software and its engineering ; Software and its engineering -- Software notations and tools ; Software and its engineering -- Software notations and tools -- Compilers ; Software and its engineering -- Software notations and tools -- General programming languages ; Software and its engineering -- Software notations and tools -- General programming languages -- Language types ; Software engineering ; Theory of computation ; Theory of computation -- Semantics and reasoning ; Theory of computation -- Semantics and reasoning -- Program semantics</subject><ispartof>Generative Programming and Component Engineering, 2005, p.293-308</ispartof><rights>Springer-Verlag Berlin Heidelberg 2005</rights><rights>2005 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/11561347_20$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/11561347_20$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,775,776,780,785,786,789,27904,38234,41421,42490</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=17182862$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Glück, Robert</contributor><contributor>Lowry, Michael</contributor><contributor>Lowry, Michael</contributor><contributor>Glück, Robert</contributor><creatorcontrib>Kamin, Samuel</creatorcontrib><creatorcontrib>Aktemur, Barış</creatorcontrib><creatorcontrib>Morton, Philip</creatorcontrib><title>Source-level optimization of run-time program generators</title><title>Generative Programming and Component Engineering</title><description>We describe our efforts to use source-level rewriting to optimize run-time program generators written in Jumbo, a run-time program generation system for Java. Jumbo is a compiler written in compositional style, which brings the advantage that any program fragment can be abstracted out and compiled to an intermediate form. These forms can be put together at run-time to build complete programs. This principle provides a high level of flexibility in writing program generators. However, this comes at the price of inefficient run-time compilation. Using source-level transformations, we optimize the run-time generation of byte code from fragments, achieving speedups of 5–15%. We discuss the optimization process and give several examples.</description><subject>Abstract Syntax</subject><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Denotational Semantic</subject><subject>Exact sciences and technology</subject><subject>Java Virtual Machine</subject><subject>Partial Evaluation</subject><subject>Program Generation</subject><subject>Software</subject><subject>Software and its engineering</subject><subject>Software and its engineering -- Software notations and tools</subject><subject>Software and its engineering -- Software notations and tools -- Compilers</subject><subject>Software and its engineering -- Software notations and tools -- General programming languages</subject><subject>Software and its engineering -- Software notations and tools -- General programming languages -- Language types</subject><subject>Software engineering</subject><subject>Theory of computation</subject><subject>Theory of computation -- Semantics and reasoning</subject><subject>Theory of computation -- Semantics and reasoning -- Program semantics</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>3540291385</isbn><isbn>9783540291381</isbn><isbn>9783540319771</isbn><isbn>3540319778</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2005</creationdate><recordtype>conference_proceeding</recordtype><recordid>eNqN0D1PwzAQBmDzJVFKJ_5ABhhACvhy8ddYVXxJlRiA2XJcuwokcWSnSPDrSVUGFiRuOeneRze8hJwBvQZKxQ0A44Cl0AXdIzMlJLKSIighYJ9MgAPkiKU6ICfboFCAkh2SCUVa5EqUeExmKb3RcRDEmE6IfA6baF3euA_XZKEf6rb-MkMduiz4LG66fLy4rI9hHU2brV3nohlCTKfkyJsmudnPnpLXu9uXxUO-fLp_XMyXuSkkDjmujKkoZ1JWlFUrD9Iqyb1hxjIoLOdguVfSO1RcClkyoAwdUxSdF4YhTsnF7m9vkjWNj6azddJ9rFsTPzUIkIXkxegudy6NUbd2UVchvCcNVG-r07-qG-3Vzhrb_s10FWvnR3z-D4zfENVxbg</recordid><startdate>20050101</startdate><enddate>20050101</enddate><creator>Kamin, Samuel</creator><creator>Aktemur, Barış</creator><creator>Morton, Philip</creator><general>Springer-Verlag</general><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>IQODW</scope></search><sort><creationdate>20050101</creationdate><title>Source-level optimization of run-time program generators</title><author>Kamin, Samuel ; Aktemur, Barış ; Morton, Philip</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a283t-3daab06588b05bdf18c986fa5ac512c661c6f98fe396878451053e5903ef7a533</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2005</creationdate><topic>Abstract Syntax</topic><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Denotational Semantic</topic><topic>Exact sciences and technology</topic><topic>Java Virtual Machine</topic><topic>Partial Evaluation</topic><topic>Program Generation</topic><topic>Software</topic><topic>Software and its engineering</topic><topic>Software and its engineering -- Software notations and tools</topic><topic>Software and its engineering -- Software notations and tools -- Compilers</topic><topic>Software and its engineering -- Software notations and tools -- General programming languages</topic><topic>Software and its engineering -- Software notations and tools -- General programming languages -- Language types</topic><topic>Software engineering</topic><topic>Theory of computation</topic><topic>Theory of computation -- Semantics and reasoning</topic><topic>Theory of computation -- Semantics and reasoning -- Program semantics</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Kamin, Samuel</creatorcontrib><creatorcontrib>Aktemur, Barış</creatorcontrib><creatorcontrib>Morton, Philip</creatorcontrib><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Kamin, Samuel</au><au>Aktemur, Barış</au><au>Morton, Philip</au><au>Glück, Robert</au><au>Lowry, Michael</au><au>Lowry, Michael</au><au>Glück, Robert</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Source-level optimization of run-time program generators</atitle><btitle>Generative Programming and Component Engineering</btitle><date>2005-01-01</date><risdate>2005</risdate><spage>293</spage><epage>308</epage><pages>293-308</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>3540291385</isbn><isbn>9783540291381</isbn><eisbn>9783540319771</eisbn><eisbn>3540319778</eisbn><abstract>We describe our efforts to use source-level rewriting to optimize run-time program generators written in Jumbo, a run-time program generation system for Java. Jumbo is a compiler written in compositional style, which brings the advantage that any program fragment can be abstracted out and compiled to an intermediate form. These forms can be put together at run-time to build complete programs. This principle provides a high level of flexibility in writing program generators. However, this comes at the price of inefficient run-time compilation. Using source-level transformations, we optimize the run-time generation of byte code from fragments, achieving speedups of 5–15%. We discuss the optimization process and give several examples.</abstract><cop>Berlin, Heidelberg</cop><pub>Springer-Verlag</pub><doi>10.1007/11561347_20</doi><tpages>16</tpages><edition>1ère éd</edition></addata></record>
fulltext fulltext
identifier ISSN: 0302-9743
ispartof Generative Programming and Component Engineering, 2005, p.293-308
issn 0302-9743
1611-3349
language eng
recordid cdi_pascalfrancis_primary_17182862
source Springer Books
subjects Abstract Syntax
Applied sciences
Computer science
control theory
systems
Denotational Semantic
Exact sciences and technology
Java Virtual Machine
Partial Evaluation
Program Generation
Software
Software and its engineering
Software and its engineering -- Software notations and tools
Software and its engineering -- Software notations and tools -- Compilers
Software and its engineering -- Software notations and tools -- General programming languages
Software and its engineering -- Software notations and tools -- General programming languages -- Language types
Software engineering
Theory of computation
Theory of computation -- Semantics and reasoning
Theory of computation -- Semantics and reasoning -- Program semantics
title Source-level optimization of run-time program generators
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-24T08%3A47%3A14IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-pascalfrancis_acm_b&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Source-level%20optimization%20of%20run-time%20program%20generators&rft.btitle=Generative%20Programming%20and%20Component%20Engineering&rft.au=Kamin,%20Samuel&rft.date=2005-01-01&rft.spage=293&rft.epage=308&rft.pages=293-308&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=3540291385&rft.isbn_list=9783540291381&rft_id=info:doi/10.1007/11561347_20&rft_dat=%3Cpascalfrancis_acm_b%3E17182862%3C/pascalfrancis_acm_b%3E%3Curl%3E%3C/url%3E&rft.eisbn=9783540319771&rft.eisbn_list=3540319778&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true