Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems最新文献

筛选
英文 中文
dart2java: Running Dart in Java-based Environments 在基于java的环境中运行Dart
M. Springer, Andrew Krieger, Stanislav Manilov, H. Masuhara
{"title":"dart2java: Running Dart in Java-based Environments","authors":"M. Springer, Andrew Krieger, Stanislav Manilov, H. Masuhara","doi":"10.1145/3098572.3098575","DOIUrl":"https://doi.org/10.1145/3098572.3098575","url":null,"abstract":"We present the design and implementation of dart2java, an experimental Dart to Java compiler. It is implemented in Dart and currently supports many but not all Dart language constructs. dart2java is a playground to evaluate performance implications of running Dart code on the JVM and to investigate if it is possible to write Dart code in a largely Java-dominated environment. This paper describes the architecture of dart2java, performance optimizations such as non-nullability of primitive types and generic specialization (and their implications), as well as ideas for language interoperability, i.e., calling Java code from Dart and vice versa.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125651298","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Code Generation in Serializers and Comparators of Apache Flink Apache Flink序列化器和比较器中的代码生成
G. Horváth, Norbert Pataki, Márton Balassi
{"title":"Code Generation in Serializers and Comparators of Apache Flink","authors":"G. Horváth, Norbert Pataki, Márton Balassi","doi":"10.1145/3098572.3098579","DOIUrl":"https://doi.org/10.1145/3098572.3098579","url":null,"abstract":"There is a shift in the Big Data world. Applications used to be I/O bound. InfiniBand, SSDs reduced the I/O overhead and more sophisticated algorithms were developed. CPU became a bottleneck for some applications. Using state of the art CPUs, reduced CPU usage can lead to reduced electricity costs even when an application is I/O bound. Apache Flink is an open source framework for processing streams of data and batch jobs. It is using serialization for wide variety of purposes. Not only for sending data over the network, saving it to the hard disk, or for fault tolerance, but also some of the operators can work on the serialized representation of the data instead of Java objects. This approach can improve the performance significantly. Flink has a custom serialization method that enables operators to work on the serialized formats. Currently, Apache Flink uses reflection to serialize Plain Old Java Objects (POJOs). Reflection in Java is notoriously slow. Moreover, the structure of the code is harder to optimize for the JIT compiler. As a Google Summer of Code project in 2016, we implemented code generation for serializers and comparators for POJOs to improve the performance of Apache Flink. Flink has a delicate type system which provides us with lots of information about the types that need to be serialized. Using this information it is possible to generate specialized code with great performance. We achieved more than 6X performance improvement in the serialization which was a 20% overall improvement.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116723098","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
VM Wrapping: Fake it till you make it VM包装:假装它直到你成功
Johannes Henning, T. Felgentreff, R. Hirschfeld
{"title":"VM Wrapping: Fake it till you make it","authors":"Johannes Henning, T. Felgentreff, R. Hirschfeld","doi":"10.1145/3098572.3098576","DOIUrl":"https://doi.org/10.1145/3098572.3098576","url":null,"abstract":"Building or extending Virtual Machines (VMs) to investigate new language features or optimization techniques is challenging in several ways. The overhead for developing a new research VM for an existing practical language is immense, and meaningful evaluation often requires implementing much more than just the parts that are interesting for the research question. In this paper, we propose a different approach for implementing VMs based on wrapping an existing, feature complete VM. Our technique aims for lower implementation overhead by reducing the number of features that have to be implemented to produce a working prototype and thus producing results quicker. While already proving useful for research, our approach also suggests a way to extend legacy virtual machines with new features and optimizations.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131170013","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Formalization IDEs Integrated with a Verifying Compiler 与验证编译器集成的形式化ide
Daniel Welch, B. Durkee, M. Kabbani, M. Sitaraman
{"title":"Formalization IDEs Integrated with a Verifying Compiler","authors":"Daniel Welch, B. Durkee, M. Kabbani, M. Sitaraman","doi":"10.1145/3098572.3098580","DOIUrl":"https://doi.org/10.1145/3098572.3098580","url":null,"abstract":"This demonstration will illustrate both a web- and desktop-based formalization IDE (F-IDE) that are backed by a verifying compiler for the RESOLVE specification and programming language. Each IDE we demo supports construction of mathematical developments, formal interface specifications of generic, object-based concepts, and alternative implementations annotated with internal assertions to enable verification. While the first portion of the demo will illustrate the language and verification in the context of the web-based environment, the second half will demonstrate features of a newer desktop-based IDE that provides additional modern IDE amenities beyond those offered by the web-based version. Each IDE we present integrates feedback for mathematical and programmatic type checking, proving, among others, and permit users to generate and run executable, property-preserving Java.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116482461","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Diff Graphs for a fast Incremental Pointer Analysis Diff图用于快速增量指针分析
J. Krainz, M. Philippsen
{"title":"Diff Graphs for a fast Incremental Pointer Analysis","authors":"J. Krainz, M. Philippsen","doi":"10.1145/3098572.3098578","DOIUrl":"https://doi.org/10.1145/3098572.3098578","url":null,"abstract":"A wide range of optimizations and program analyses, including bug finding by means of escape or race analyses, need accurate pointer information. Since accuracy takes time, there is a need for a fast incremental pointer analysis that re-uses prior results and only re-analyzes program changes and their effects instead of the whole program. We present such an incremental pointer analysis that employs novel diff graphs to represent how a method accesses and/or modifies memory. Regardless of the number of call sites, we only need to analyze a method once; the resulting diff-graph is then used at every call site. If a method changes, we re-generate its diff-graph, and (unless its diff-graph stays the same) its callers' diff graphs, and so on. Our algorithm is flow sensitive and context insensitive, does not leak information between call sites, can perform strong updates (even for method calls), and is fast (14 000 LOC with 25 000 bytecode instructions in 3 minutes). When used incrementally for each of the commits of an open-source software repository our incremental approach derives more precise pointer information than established (full) analyses like Spark -- albeit in about the same time.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128452780","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability 优化特定于应用程序的运行时可变性的元对象协议
Guido Chari, D. Garbervetsky, Stefan Marr
{"title":"A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability","authors":"Guido Chari, D. Garbervetsky, Stefan Marr","doi":"10.1145/3098572.3098577","DOIUrl":"https://doi.org/10.1145/3098572.3098577","url":null,"abstract":"Just-in-time compilers and their aggressive speculative optimizations reduced the performance gap between dynamic and static languages drastically. To successfully speculate, compilers rely on the program variability observed at run time to be low, and use heuristics to determine when optimization is beneficial. However, some variability patterns are hard to capture with heuristics. Specifically, ephemeral, warmup, rare, and highly indirect variability are challenges for today's compiler heuristics. As a consequence, they can lead to reduced application performance. However, these types of variability are identifiable at the application level and could be mitigated with information provided by developers. As a solution, we propose a metaobject protocol for dynamic compilation systems to enable application developers to provide such information at run time. As a proof of concept, we demonstrate performance improvements for a few scenarios in a dynamic language built on top of the Truffle and Graal system.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128855860","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信