Logo des Repositoriums
 

Static and dynamic method unboxing for python

dc.contributor.authorBarany, Gergö
dc.contributor.editorWagner, Stefan
dc.contributor.editorLichter, Horst
dc.date.accessioned2018-10-24T10:00:17Z
dc.date.available2018-10-24T10:00:17Z
dc.date.issued2013
dc.description.abstractThe 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.en
dc.identifier.isbn978-3-88579-609-1
dc.identifier.pissn1617-5468
dc.identifier.urihttps://dl.gi.de/handle/20.500.12116/17404
dc.language.isoen
dc.publisherGesellschaft für Informatik e.V.
dc.relation.ispartofSoftware Engineering 2013 - Workshopband
dc.relation.ispartofseriesLecture Notes in Informatics (LNI) - Proceedings, Volume P-215
dc.titleStatic and dynamic method unboxing for pythonen
dc.typeText/Conference Paper
gi.citation.endPage57
gi.citation.publisherPlaceBonn
gi.citation.startPage43
gi.conference.date26. Februar-1. März 2013
gi.conference.locationAachen
gi.conference.sessiontitleRegular Research Papers

Dateien

Originalbündel
1 - 1 von 1
Lade...
Vorschaubild
Name:
43.pdf
Größe:
155.78 KB
Format:
Adobe Portable Document Format