skip to main content
10.1145/2542142.2542146acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Unipycation: a case study in cross-language tracing

Authors Info & Claims
Published:28 October 2013Publication History

ABSTRACT

Language composition approaches have traditionally suffered from poor performance. In this paper we hypothesise that meta-tracing provides a means to compose independent language interpreters while retaining the performance levels of each. To study this approach, we compose Python and Prolog interpreters to form Unipycation. We present a case study of its use and a suite of micro-benchmarks which give us some understanding of its cross-language performance.

References

  1. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A transparent dynamic optimization system. SIGPLAN, 35(5):1--12, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Bebenita, F. Brandner, M. Fahndrich, F. Logozzo, W. Schulte, N. Tillmann, and H. Venter. SPUR: A trace-based JIT compiler for CIL. In Proc. OOPSLA, pages 708--725, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. F. Bolz, A. Cuni, M. Fijałkowski, M. Leuschel, S. Pedroni, and A. Rigo. Allocation removal by partial evaluation in a tracing JIT. Proc. PEPM, pages 43--52, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. F. Bolz, A. Cuni, M. Fijałkowski, M. Leuschel, S. Pedroni, and A. Rigo. Runtime feedback in a meta-tracing JIT for efficient dynamic languages. In Proc. ICOOOLPS, page 9:1--9:8, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. F. Bolz, A. Cuni, M. Fijałkowski, and A. Rigo. Tracing the meta-level: PyPy's tracing JIT compiler. In Proc. ICOOOLPS, pages 18--25, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. F. Bolz, M. Leuschel, and D. Schneider. Towards a Jitting VM for prolog execution. In Proc. PPDP, pages 99--108, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. F. Bolz and L. Tratt. The impact of meta-tracing on VM design and implementation. To appear SCICO, 2013.Google ScholarGoogle Scholar
  8. I. Bratko. Prolog programming for artificial intelligence. Addison Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Bravenboer and E. Visser. Concrete syntax for objects. domain-specific language embedding and assimilation without restrictions. In Proc. OOPSLA, pages 365--383, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Cardelli, F. Matthes, and M. Abadi. Extensible grammars for language specialization. In Workshop on Database Programming Languages, pages 11--31, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Castanos, D. Edelsohn, K. Ishizaki, P. Nagpurkar, T. Nakatani, T. Ogasawara, and P. Wu. On the benefits and pitfalls of extending a statically typed language JIT compiler for dynamic scripting languages. pages 195--212, Oct. 2012.Google ScholarGoogle Scholar
  12. T. E. Cheatham. Motivation for extensible languages. SIGPLAN, 4(8):45--49, Aug. 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Denti, A. Omicini, and A. Ricci. tuProlog: a light-weight prolog for internet applications and infrastructures. In Proc. PADL, volume 1990, pages 184--198. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. D'Hondt, K. Gybels, and V. Jonckers. Seamless integration of rule-based knowledge and object-oriented functionality with linguistic symbiosis. Proc. SAC, pages 1328--1335, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. L. Diekmann and L. Tratt. Parsing composed grammars with language boxes. In Workshop on Scalable Language Specifications, 2013.Google ScholarGoogle Scholar
  16. D. J. Edwards and T. P. Hart. The alpha-beta heuristic. Technical Report AIM-30, MIT, 1961. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Gal, B. Eich, M. Shaver, D. Anderson, D. Mandelin, M. R. Haghighat, B. Kaplan, G. Hoare, B. Zbarsky, J. Orendorff, J. Ruderman, E. W. Smith, R. Reitmaier, M. Bebenita, M. Chang, and M. Franz. Trace-based Just-In-Time type specialization for dynamic languages. In Proc. PLDI, pages 465--478, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Gal, C. W. Probst, and M. Franz. HotpathVM: an effective JIT compiler for resource-constrained devices. In Proc. VEE, pages 144--153, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Gybels. SOUL and Smalltalk - just married: evolution of the interaction between a logic and an object-oriented language towards symbiosis. In Proc. DP-COOL, 2003.Google ScholarGoogle Scholar
  20. P. Hudak. Building domain-specific embedded languages. ACM Computing Surveys, 28(4), 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the future: the story of Squeak, a practical Smalltalk written in itself. In Proc. OOPSLA, pages 318--326, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. T. Irons. Experience with an extensible language. Communications of the ACM, 13(1):31--40, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. Ishizaki, T. Ogasawara, J. Castanos, P. Nagpurkar, D. Edelsohn, and T. Nakatani. Adding dynamically-typed language support to a statically-typed language compiler: Performance evaluation, analysis, and tradeoffs. In VEE, pages 169--180. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. F. Johnson and C. N. Fischer. A meta-language and system for nonlocal incremental attribute evaluation in language-based editors. In Proc. POPL, pages 141--151, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. A. Kelsey and J. A. Rees. A tractable Scheme implementation. Lisp Symb. Comput., 7(4):315--335, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Rigo and S. Pedroni. PyPy's approach to virtual machine construction. In Proc. DLS, pages 944--953, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. L. Steele, Jr. Growing a language. HOSC, 12(3):221--236, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. T. Sullivan, D. L. Bruening, I. Baron, T. Garnett, and S. Amarasinghe. Dynamic native optimization of interpreters. In Workshop on Interpreters, Virtual Machines and Emulators, pages 50--57, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. L. Tratt. Domain specific language implementation via compile-time meta-programming. TOPLAS, 30(6):1--40, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. von Neumann. Zur Theorie der Gesellschaftsspiele. Mathematische Annalen, 100(1):295--320, 1928.Google ScholarGoogle ScholarCross RefCross Ref
  31. J. von Neumann. Theory of games and economic behavior. Princeton University Press, 1944.Google ScholarGoogle Scholar
  32. A. Yermolovich, C. Wimmer, and M. Franz. Optimization of dynamic languages using hierarchical layering of virtual machines. In Proc. DLS, pages 79--88, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Unipycation: a case study in cross-language tracing

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      VMIL '13: Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
      October 2013
      48 pages
      ISBN:9781450326018
      DOI:10.1145/2542142

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 October 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      VMIL '13 Paper Acceptance Rate4of4submissions,100%Overall Acceptance Rate4of4submissions,100%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader