GI LogoGI Logo
  • Login
Digital Library
    • All of DSpace

      • Communities & Collections
      • Titles
      • Authors
      • By Issue Date
      • Subjects
    • This Collection

      • Titles
      • Authors
      • By Issue Date
      • Subjects
Digital Library Gesellschaft für Informatik e.V.
GI-DL
    • English
    • Deutsch
  • English 
    • English
    • Deutsch
View Item 
  •   DSpace Home
  • Lecture Notes in Informatics
  • Proceedings
  • Software Engineering
  • P215 - Software Engineering 2013 Workshopband (inkl. Doktorandensymposium)
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.
  •   DSpace Home
  • Lecture Notes in Informatics
  • Proceedings
  • Software Engineering
  • P215 - Software Engineering 2013 Workshopband (inkl. Doktorandensymposium)
  • View Item

Static and dynamic method unboxing for python

Author:
Barany, Gergö [DBLP]
Abstract
The Python programming language supports object-oriented programming using a simple and elegant model that treats member variables, methods, and various metadata as instances of a single kind of `attribute'. While this allows a simple implementation of an interpreter that supports advanced metaprogramming features, it can inhibit the performance of certain very common special cases. This paper deals with the optimization of code that loads and then calls object methods. We modify Python's compiler to emit special bytecode sequences for load/call pairs on object attributes to avoid unnecessary allocation of method objects. This can result in considerable speedups, but may cause slowdowns at call sites that refer to builtin functions or other special attributes rather than methods. We therefore extend this static compile-time approach by a dynamic runtime quickening scheme that falls back to the generic load/call sequence at such call sites. The experimental evaluation of dynamic unboxing shows speedups of up to 8 % and rare slowdowns caused by as yet unresolved excessive instruction cache misses. A comparison with a common manual optimization of method calls in Python programs shows that our automatic method is not as powerful but more widely applicable.
  • Citation
  • BibTeX
Barany, G., (2013). Static and dynamic method unboxing for python. In: Wagner, S. & Lichter, H. (Hrsg.), Software Engineering 2013 - Workshopband. Bonn: Gesellschaft für Informatik e.V.. (S. 43-57).
@inproceedings{mci/Barany2013,
author = {Barany, Gergö},
title = {Static and dynamic method unboxing for python},
booktitle = {Software Engineering 2013 - Workshopband},
year = {2013},
editor = {Wagner, Stefan AND Lichter, Horst} ,
pages = { 43-57 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
DateienGroesseFormatAnzeige
43.pdf155.7Kb PDF View/Open

Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Send Feedback

More Info

ISBN: 978-3-88579-609-1
ISSN: 1617-5468
xmlui.MetaDataDisplay.field.date: 2013
Language: en (en)
Content Type: Text/Conference Paper
Collections
  • P215 - Software Engineering 2013 Workshopband (inkl. Doktorandensymposium) [59]

Show full item record


About uns | FAQ | Help | Imprint | Datenschutz

Gesellschaft für Informatik e.V. (GI), Kontakt: Geschäftsstelle der GI
Diese Digital Library basiert auf DSpace.

 

 


About uns | FAQ | Help | Imprint | Datenschutz

Gesellschaft für Informatik e.V. (GI), Kontakt: Geschäftsstelle der GI
Diese Digital Library basiert auf DSpace.