|Optimization for OOP firstname.lastname@example.org (2008-05-03)|
|Re: Optimization for OOP email@example.com (2008-05-05)|
|Re: Optimization for OOP firstname.lastname@example.org (Dmitry A. Kazakov) (2008-05-05)|
|Re: Optimization for OOP email@example.com (Tony Finch) (2008-05-05)|
|Re: Optimization for OOP firstname.lastname@example.org (email@example.com) (2008-05-05)|
|Re: Optimization for OOP firstname.lastname@example.org (Dmitry A. Kazakov) (2008-05-06)|
|Re: Optimization for OOP email@example.com (2008-05-06)|
|From:||Tony Finch <firstname.lastname@example.org>|
|Date:||05 May 2008 18:11:27 +0100 (BST)|
|Posted-Date:||05 May 2008 17:13:11 EDT|
email@example.com (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen) wrote:
>The most important optimisation is to get rid of dynamic method calls.
>This can, however, be quite tricky as you can't tell if a method can
>be overridden without knowing the whole program, so it plays havoc
>with separate compilation.
The Self papers have some good descriptions of optimisation techniques
for a pure OO language. http://research.sun.com/self/papers/papers.html
In a VM-based language you can implement a tracing JIT which naturally
specializes away dynamic dispatch. Mike Pall wrote a short description
of how this works in the second half of his post to the Lua list
linked below, with some references to papers.
f.anthony.n.finch <firstname.lastname@example.org> http://dotat.at/
FITZROY SOLE: VARIABLE 4 IN EAST, OTHERWISE SOUTHERLY 5 TO 7, OCCASIONALLY
GALE 8 IN WEST SOLE. ROUGH OR VERY ROUGH IN WEST, SLIGHT OR MODERATE IN EAST.
SHOWERS, WITH FOG PATCHES IN EAST. MODERATE OR GOOD, OCCASIONALLY VERY POOR.
Return to the
Search the comp.compilers archives again.