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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of functional programming 2019, Vol.29, Article e4
Hauptverfasser: GREENMAN, BEN, TAKIKAWA, ASUMU, NEW, MAX S., FELTEY, DANIEL, FINDLER, ROBERT BRUCE, VITEK, JAN, FELLEISEN, MATTHIAS
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 &amp; 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 &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; 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