WebSite Logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 4th Workshop on Scala (SCALA '13)
  2. Bridging islands of specialized code using macros and reified types
Loading...

Please wait, while we are loading the content...

An overview of the Leon verification system: verification by translation to recursive functions
CafeSat: a modern SAT solver for Scala
Scala macros: let our powers combine!: on how rich syntax and static types work with metaprogramming
A new concurrency model for Scala based on a declarative dataflow core
Open GADTs and declaration-site variance: a problem statement
Towards a tight integration of a functional web client language into Scala
Parsing graphs: applying parser combinators to graph traversals
Scalad: an interactive type-level debugger
An experimental study of the influence of dynamic compiler optimizations on Scala performance
Bridging islands of specialized code using macros and reified types
What are the Odds?: probabilistic programming in Scala
Dataflow constructs for a language extension based on the algebra of communicating processes

Similar Documents

...
Bridging islands of specialized code using macros and reified types.

...
Semester project report bridging islands of specialized code using macros and reified types.

...
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations

Article

...
Miniboxing:improving the speed to code size tradeoff in parametric polymorphism translations

Article

...
Run-Time Program Specialization in Java Bytecode (1999)

Proceeding

...
Improving the Java Virtual Machine Using

Article

...
Run-Time Program Specialization in Java Bytecode (1999)

Article

...
Functional Java Bytecode (2001)

Article

...
Safe and efficient hardware specialization of java applications.

Bridging islands of specialized code using macros and reified types

Content Provider ACM Digital Library
Author Ureche, Vlad Stucki, Nicolas
Abstract Parametric polymorphism in Scala suffers from the usual drawback of erasure on the Java Virtual Machine: primitive values are boxed, leading to indirect access, wasteful use of heap memory and lack of cache locality. For performance-critical parts of the code, the Scala compiler introduces specialization, a transformation that duplicates and adapts the bodies of classes and methods for primitive types. Specializing code can speed up execution by an order of magnitude, but only if the code is called from monomorphic sites or from other specialized code. Still, if these "islands" of specialized code are called from generic code, their performance becomes similar to that of generic code, losing optimality. To address this, our project builds high performance "bridges" between "islands" of specialized code, removing the requirement that full traces need to be specialized: We use macros to delimit performance-critical "gaps" between specialized code, which we also specialize. We then use reified types to dispatch the correct specialized variant, thus recovering performance across the "islands". Our transformation obtains speedups up to 30x and around 12x in average compared to generic only code, by enabling specialization to completely remove boxing and reach its full potential.
Starting Page 1
Ending Page 4
Page Count 4
File Format PDF
ISBN 9781450320641
DOI 10.1145/2489837.2489847
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2013-07-02
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Data representation Specialization Scala Bytecode Java virtual machine Macros Reified types
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...