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...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
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&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 |