Topic: optimization of object-oriented programs

topics > computer science > programming > Group: object-oriented programming

code generation

dependency analysis
flavor analysis and typestates for supplementary type checking
in-line code
just-in-time compilation
types of object-oriented classes

Subtopic: performance measurement up

Quote: portable API for performance tools using the on-chip performance monitoring hardware; measurements per-thread; PAPI [»muccP6_2005]

Subtopic: object management up

Quote: quidelines for faster Java; reduce frequency of object allocation and object copies; up to 15x improvement [»klemR6_1999]
Quote: many optimizations depend on copies creating equal values while not affecting other values; if not enforced, user types can not be optimized [»dehnJC4_1998]

Subtopic: object inlining up

Quote: object inlining allocates single-reference child objects within their container class; averages 10% faster; expensive to compute [»dolbJ10_1998]
Quote: automatically inline single-reference objects; 25% fewer cache misses; 14% faster programs [»dolbJ6_2000]

Subtopic: inline function up

Quote: use inline functions to make interface classes affordable; e.g., an inline forwarding function that adjusts the type without generating additional code [»stroB_1991]

Subtopic: optimizing dispatch tables up

Quote: use compressed dispatch tables for dynamic, multimethod dispatch in constant time [»dujaE1_1998]
Quote: replace virtual function tables with static type testing code; allows inlined function calls [»zendO10_1997]
Quote: use a hashed, interface method table for efficient interface dispatch; comparable to a virtual method call [»alpeB10_2001]
Quote: dynamic method calls with direct devirtualizing and code patching; inline code is executed until assumptions fail and backup code takes its place; mean of 16% faster [»ishiK10_2000]
Quote: CLR objects include vtable pointers for method dispatch and simple type handles [»kennA6_2001]
Quote: use interval containment and type slicing for space efficient dispatch tables with multiple inheritance; 2.6x less space than the row displacement algorithm [»zibiY11_2002]
Quote: efficient interface dispatch (invokevirtual) using fixed-sized, interface method tables, disambiguated by a interface method signature; used by Jalapeno [»alpeB6_2001]

Subtopic: type tests up

Quote: incremental algorithm for constant-time subtyping tests for multiple inheritance

Subtopic: binary operators up

Quote: implement binary operators of complicated types with assignment operators; e.g., implement matrix addition in terms of '+=' [»stroB_1991]
Quote: designed Java's semantics so that 'a=b+c' and 'p.m' could be implemented quickly; e.g., lead to static typing

Related Topics up

Group: code generation   (30 topics, 593 quotes)

Topic: aliasing (28 items)
Topic: dependency analysis (34 items)
Topic: efficiency (96 items)
Topic: flavor analysis and typestates for supplementary type checking (68 items)
Topic: in-line code (7 items)
Topic: just-in-time compilation (20 items)
Topic: types of object-oriented classes
(18 items)

Updated barberCB 11/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.