This HTML5 document contains 31 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dctermshttp://purl.org/dc/terms/
n2https://kar.kent.ac.uk/id/eprint/
wdrshttp://www.w3.org/2007/05/powder-s#
dchttp://purl.org/dc/elements/1.1/
n9http://purl.org/ontology/bibo/status/
rdfshttp://www.w3.org/2000/01/rdf-schema#
n7https://demo.openlinksw.com/about/id/entity/https/raw.githubusercontent.com/annajordanous/CO644Files/main/
n3http://eprints.org/ontology/
n21https://kar.kent.ac.uk/id/event/
bibohttp://purl.org/ontology/bibo/
n12https://kar.kent.ac.uk/id/publication/
n10https://kar.kent.ac.uk/id/org/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
owlhttp://www.w3.org/2002/07/owl#
n19https://kar.kent.ac.uk/id/eprint/77492#
n14https://kar.kent.ac.uk/77492/
n4https://kar.kent.ac.uk/id/document/
n18https://kar.kent.ac.uk/id/
xsdhhttp://www.w3.org/2001/XMLSchema#
n17doi:10.1145/
n15https://demo.openlinksw.com/about/id/entity/https/www.cs.kent.ac.uk/people/staff/akj22/materials/CO644/
n11https://kar.kent.ac.uk/id/person/

Statements

Subject Item
n2:77492
rdf:type
bibo:AcademicArticle bibo:Article n3:EPrint n3:ConferenceItemEPrint
rdfs:seeAlso
n14:
owl:sameAs
n17:3358504.3361232
n3:hasAccepted
n4:3190818
n3:hasDocument
n4:3190818 n4:3191019 n4:3191020 n4:3190903 n4:3191021 n4:3191022
dc:hasVersion
n4:3190818
dcterms:title
Which of My Transient Type Checks Are Not (Almost) Free?
wdrs:describedby
n7:export_kar_RDFN3.n3 n15:export_kar_RDFN3.n3
dcterms:date
2019-10-20
dcterms:creator
n11:ext-rykardo.r@gmail.com n11:ext-mwh@ecs.vuw.ac.nz n11:ext-kjx@ecs.vuw.ac.nz n11:ext-s.marr@kent.ac.uk n11:ext-4e2261c13b8260183f4cd9d2418c03fb
bibo:status
n9:peerReviewed n9:published
dcterms:publisher
n10:ext-2af1883e4bbfa0356fcedb366171cb38
bibo:abstract
One form of type checking used in gradually typed language is transient type checking: whenever an object ‘flows’ through code with a type annotation, the object is dynamically checked to ensure it has the methods required by the annotation. Just-in-time compilation and optimisation in virtual machines can eliminate much of the overhead of run-time transient type checks. Unfortunately this optimisation is not uniform: some type checks will significantly decrease, or even increase, a program’s performance. In this paper, we refine the so called “Takikawa” protocol, and use it to identify which type annotations have the greatest effects on performance. In particular, we show how graphing the performance of such benchmarks when varying which type annotations are present in the source code can be used to discern potential patterns in performance. We demonstrate our approach by testing the Moth virtual machine: for many of the benchmarks where Moth’s transient type checking impacts performance, we have been able to identify one or two specific type annotations that are the likely cause. Without these type annotations, the performance impact of transient type checking becomes negligible. Using our technique programmers can optimise programs by removing expensive type checks, and VM engineers can identify new opportunities for compiler optimisation.
dcterms:isPartOf
n12:ext-f07dcf97f0d8f775e133d80d3da25188 n18:repository
bibo:authorList
n19:authors
bibo:presentedAt
n21:ext-fc52b4266fca1610c8721e28624fa054