松露红宝石
TruffleRuby

原始链接: https://chrisseaton.com/truffleruby/

TruffleRuby 是一个高性能的 Ruby 编程语言实现,构建在 JVM 之上,利用 Graal 动态编译器和 Truffle AST 解释器框架。它起源于 2013 年 Oracle Labs 的实习项目,最初作为 JRuby 中的一个开源和孵化项目,后来于 2017 年成为一个独立项目并最终成为 GraalVM 的一部分。 值得注意的是,TruffleRuby 旨在超越 JRuby 的性能,同时保持更简单的系统架构。目前开发由 Shopify 赞助,建立在 2015 年完成的一篇博士论文基础上。 该项目伴随着大量的研究,重点关注并行化、调试本机扩展、专业化数据结构(Ropes)、跨语言互操作性以及高效元编程等领域。这些进展在 OOPSLA、PLDI 和 TOPLAS 等会议的众多出版物中都有详细介绍,可通过提供的链接获取。

Hacker News新帖 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交登录TruffleRuby (chrisseaton.com)18 分,by tosh 1小时前 | 隐藏 | 过去 | 收藏 | 2 评论 帮助 claudiug 10分钟前 [–] 安息吧,Chris Seaton回复ch4s3 5分钟前 | 父评论 [–] 是的,他是个很好的人。希望他的家人一切安好。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

TruffleRuby started as my internship project at Oracle Labs in early 2013. It is an implementation of the Ruby programming language on the JVM, using the Graal dynamic compiler and the Truffle AST interpreter framework. TruffleRuby can achieve peak performance well beyond that possible in JRuby at the same time as being a significantly simpler system. In early 2014 it was open sourced and integrated into JRuby for incubation, then in 2017 it became its own project, and now it is part of GraalVM. It was the subject of my PhD, and since 2019 Shopify has sponsored development.

This page links to the literature and code related to the project. Note that any views expressed are my own and not those of Oracle.

  • B. Daloze, A. Tal, S. Marr, H. Mössenböck, E. Petrank. Parallelization of Dynamic Languages: Synchronizing Built-in Collections. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2018. PDF

  • J. Kreindl, M. Rigger, and H. Mössenböck. Debugging Native Extensions of Dynamic Languages. In Proceedings of 15th International Conference on Managed Languages & Runtimes (ManLang), 2018. PDF

  • K. Menard, C. Seaton, and B. Daloze. Specializing Ropes for Ruby. In Proceedings of 15th International Conference on Managed Languages & Runtimes (ManLang), 2018.
    PDF

  • M. Van De Vanter, C. Seaton, M. Haupt, C. Humer, and T. Würthinger. Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools. In The Art, Science, and Engineering of Programming, Vol. 2, No. 3, 2018.
    PDF

  • M. Grimmer, R. Schatz, C. Seaton, T. Würthinger, M. Luján. Cross-Language Interoperability in a Multi-Language Runtime. In ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 40, No. 2, 2018.
    PDF

  • T. Würthinger, C. Wimmer, C. Humer, A. Wöss, L. Stadler, C. Seaton, G. Duboscq, D. Simon, M. Grimmer. Practical Partial Evaluation for High-Performance Dynamic Language Runtimes. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI), 2017.
    PDF

  • B. Daloze, S. Marr, D. Bonetta, H. Mössenböck. Efficient and Thread-Safe Objects for Dynamically-Typed Languages. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), 2016.
    PDF

  • C. Seaton. AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming. In Proceedings of the 1st Workshop on Meta-Programming Techniques and Reflection (META), 2016.
    PDF, Slides

  • C. Seaton. Specialising Dynamic Techniques for Implementing the Ruby Programming Language. PhD thesis, University of Manchester, 2015.
    Abstract, PDF

  • M. Grimmer, C. Seaton, R. Schatz, T. Würthinger, H. Mössenböck. High-Performance Cross-Language Interoperability in a Multi-Language Runtime. In Proceedings of 11th Dynamic Languages Symposium (DLS), 2015.
    PDF

  • F. Niephaus, M. Springer, T. Felgentreff, T. Pape, R. Hirschfeld. Call-target-specific Method Arguments. In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS), 2015.
    PDF

  • B. Daloze, C. Seaton, D. Bonetta, H. Mössenböck. Techniques and Applications for Guest-Language Safepoints. In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS), 2015.
    PDF

  • S. Marr, C. Seaton, S. Ducasse. Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises. In Proceedings of the 36th Conference on Programming Language Design and Implementation (PLDI), 2015.
    PDF

  • M. Grimmer, C. Seaton, T. Würthinger, H. Mössenböck. Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages. In Proceedings of the 14th International Conference on Modularity, 2015.
    PDF,

  • A. Wöß, C. Wirth, D. Bonetta, C. Seaton, C. Humer, and H. Mössenböck. An object storage model for the Truffle language implementation framework. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2014.
    PDF

  • C. Seaton, M. L. Van De Vanter, and M. Haupt. Debugging at full speed. In Proceedings of the 8th Workshop on Dynamic Languages and Applications (DYLA), 2014.
    PDF, Code

  • 联系我们 contact @ memedata.com