How to evaluate the performance of gradual type systems
A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untype...
Gespeichert in:
Veröffentlicht in: | Journal of functional programming 2019, Vol.29, Article e4 |
---|---|
Hauptverfasser: | , , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | Journal of functional programming |
container_volume | 29 |
creator | GREENMAN, BEN TAKIKAWA, ASUMU NEW, MAX S. FELTEY, DANIEL FINDLER, ROBERT BRUCE VITEK, JAN FELLEISEN, MATTHIAS |
description | A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket. A video abstract can be found at: https://youtu.be/7d6iJdSRFtQ |
doi_str_mv | 10.1017/S0956796818000217 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2493307425</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><cupid>10_1017_S0956796818000217</cupid><sourcerecordid>2493307425</sourcerecordid><originalsourceid>FETCH-LOGICAL-c317t-58ec6e9558318f4a394bf44e25a2d9407e617a3848427fd376ba9270e55589ee3</originalsourceid><addsrcrecordid>eNp1kEtLw0AUhQdRsFZ_gLsB19F5P5ZS1AoFF-o6TJI7tSXpxJmJ0n9vQgsuxNVdnO87Fw5C15TcUkL13SuxUmmrDDWEEEb1CZpRoWyhleSnaDbFxZSfo4uUtiNjmDQzpJfhG-eA4cu1g8uA8wfgHqIPsXO7GnDweB1dM7gW530POO1Thi5dojPv2gRXxztH748Pb4tlsXp5el7cr4qaU50LaaBWYKU0nBovHLei8kIAk441VhANimrHjTCCad9wrSpnmSYgR8UC8Dm6OfT2MXwOkHK5DUPcjS9LJiznRAsmR4oeqDqGlCL4so-bzsV9SUk57VP-2Wd0-NFxXRU3zRp-q_-3fgAUVGVx</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2493307425</pqid></control><display><type>article</type><title>How to evaluate the performance of gradual type systems</title><source>Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals</source><creator>GREENMAN, BEN ; TAKIKAWA, ASUMU ; NEW, MAX S. ; FELTEY, DANIEL ; FINDLER, ROBERT BRUCE ; VITEK, JAN ; FELLEISEN, MATTHIAS</creator><creatorcontrib>GREENMAN, BEN ; TAKIKAWA, ASUMU ; NEW, MAX S. ; FELTEY, DANIEL ; FINDLER, ROBERT BRUCE ; VITEK, JAN ; FELLEISEN, MATTHIAS</creatorcontrib><description>A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket. A video abstract can be found at: https://youtu.be/7d6iJdSRFtQ</description><identifier>ISSN: 0956-7968</identifier><identifier>EISSN: 1469-7653</identifier><identifier>DOI: 10.1017/S0956796818000217</identifier><language>eng</language><publisher>Cambridge, UK: Cambridge University Press</publisher><subject>Measurement methods ; Performance evaluation ; Regular Paper ; Sound ; Systems analysis</subject><ispartof>Journal of functional programming, 2019, Vol.29, Article e4</ispartof><rights>Cambridge University Press 2019</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c317t-58ec6e9558318f4a394bf44e25a2d9407e617a3848427fd376ba9270e55589ee3</citedby><cites>FETCH-LOGICAL-c317t-58ec6e9558318f4a394bf44e25a2d9407e617a3848427fd376ba9270e55589ee3</cites><orcidid>0000-0001-7078-9287</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,4010,27900,27901,27902</link.rule.ids></links><search><creatorcontrib>GREENMAN, BEN</creatorcontrib><creatorcontrib>TAKIKAWA, ASUMU</creatorcontrib><creatorcontrib>NEW, MAX S.</creatorcontrib><creatorcontrib>FELTEY, DANIEL</creatorcontrib><creatorcontrib>FINDLER, ROBERT BRUCE</creatorcontrib><creatorcontrib>VITEK, JAN</creatorcontrib><creatorcontrib>FELLEISEN, MATTHIAS</creatorcontrib><title>How to evaluate the performance of gradual type systems</title><title>Journal of functional programming</title><addtitle>J. Funct. Prog</addtitle><description>A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket. A video abstract can be found at: https://youtu.be/7d6iJdSRFtQ</description><subject>Measurement methods</subject><subject>Performance evaluation</subject><subject>Regular Paper</subject><subject>Sound</subject><subject>Systems analysis</subject><issn>0956-7968</issn><issn>1469-7653</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNp1kEtLw0AUhQdRsFZ_gLsB19F5P5ZS1AoFF-o6TJI7tSXpxJmJ0n9vQgsuxNVdnO87Fw5C15TcUkL13SuxUmmrDDWEEEb1CZpRoWyhleSnaDbFxZSfo4uUtiNjmDQzpJfhG-eA4cu1g8uA8wfgHqIPsXO7GnDweB1dM7gW530POO1Thi5dojPv2gRXxztH748Pb4tlsXp5el7cr4qaU50LaaBWYKU0nBovHLei8kIAk441VhANimrHjTCCad9wrSpnmSYgR8UC8Dm6OfT2MXwOkHK5DUPcjS9LJiznRAsmR4oeqDqGlCL4so-bzsV9SUk57VP-2Wd0-NFxXRU3zRp-q_-3fgAUVGVx</recordid><startdate>2019</startdate><enddate>2019</enddate><creator>GREENMAN, BEN</creator><creator>TAKIKAWA, ASUMU</creator><creator>NEW, MAX S.</creator><creator>FELTEY, DANIEL</creator><creator>FINDLER, ROBERT BRUCE</creator><creator>VITEK, JAN</creator><creator>FELLEISEN, MATTHIAS</creator><general>Cambridge University Press</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope><orcidid>https://orcid.org/0000-0001-7078-9287</orcidid></search><sort><creationdate>2019</creationdate><title>How to evaluate the performance of gradual type systems</title><author>GREENMAN, BEN ; TAKIKAWA, ASUMU ; NEW, MAX S. ; FELTEY, DANIEL ; FINDLER, ROBERT BRUCE ; VITEK, JAN ; FELLEISEN, MATTHIAS</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c317t-58ec6e9558318f4a394bf44e25a2d9407e617a3848427fd376ba9270e55589ee3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>Measurement methods</topic><topic>Performance evaluation</topic><topic>Regular Paper</topic><topic>Sound</topic><topic>Systems analysis</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>GREENMAN, BEN</creatorcontrib><creatorcontrib>TAKIKAWA, ASUMU</creatorcontrib><creatorcontrib>NEW, MAX S.</creatorcontrib><creatorcontrib>FELTEY, DANIEL</creatorcontrib><creatorcontrib>FINDLER, ROBERT BRUCE</creatorcontrib><creatorcontrib>VITEK, JAN</creatorcontrib><creatorcontrib>FELLEISEN, MATTHIAS</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>ProQuest Central Basic</collection><jtitle>Journal of functional programming</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>GREENMAN, BEN</au><au>TAKIKAWA, ASUMU</au><au>NEW, MAX S.</au><au>FELTEY, DANIEL</au><au>FINDLER, ROBERT BRUCE</au><au>VITEK, JAN</au><au>FELLEISEN, MATTHIAS</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>How to evaluate the performance of gradual type systems</atitle><jtitle>Journal of functional programming</jtitle><addtitle>J. Funct. Prog</addtitle><date>2019</date><risdate>2019</risdate><volume>29</volume><artnum>e4</artnum><issn>0956-7968</issn><eissn>1469-7653</eissn><abstract>A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket. A video abstract can be found at: https://youtu.be/7d6iJdSRFtQ</abstract><cop>Cambridge, UK</cop><pub>Cambridge University Press</pub><doi>10.1017/S0956796818000217</doi><tpages>45</tpages><orcidid>https://orcid.org/0000-0001-7078-9287</orcidid></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0956-7968 |
ispartof | Journal of functional programming, 2019, Vol.29, Article e4 |
issn | 0956-7968 1469-7653 |
language | eng |
recordid | cdi_proquest_journals_2493307425 |
source | Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals |
subjects | Measurement methods Performance evaluation Regular Paper Sound Systems analysis |
title | How to evaluate the performance of gradual type systems |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-09T22%3A40%3A01IST&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=How%20to%20evaluate%20the%20performance%20of%20gradual%20type%20systems&rft.jtitle=Journal%20of%20functional%20programming&rft.au=GREENMAN,%20BEN&rft.date=2019&rft.volume=29&rft.artnum=e4&rft.issn=0956-7968&rft.eissn=1469-7653&rft_id=info:doi/10.1017/S0956796818000217&rft_dat=%3Cproquest_cross%3E2493307425%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2493307425&rft_id=info:pmid/&rft_cupid=10_1017_S0956796818000217&rfr_iscdi=true |