Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications 2009
DOI: 10.1145/1640089.1640121
|View full text |Cite
|
Sign up to set email alerts
|

Minimizing dependencies within generic classes for faster and smaller programs

Abstract: Generic classes can be used to improve performance by allowing compile-time polymorphism. But the applicability of compile-time polymorphism is narrower than that of runtime polymorphism, and it might bloat the object code. We advocate a programming principle whereby a generic class should be implemented in a way that minimizes the dependencies between its members (nested types, methods) and its generic type parameters. Conforming to this principle (1) reduces the bloat and (2) gives rise to a previously uncon… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2013
2013
2013
2013

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(1 citation statement)
references
References 40 publications
0
1
0
Order By: Relevance
“…Other language implementations use monomorphization as well, including MLton [35] which employs wholeprogram monomorphization quite sucessfully for ML, and C++ does complete template expansion, which is similar to monomorphization. Some programming guidelines can reduce code explo-sion [33]. Another drawback is that monomorphization also requires the whole program to be available, or it must fall back on a universal representation when instantiations are not known across compilation unit boundaries.…”
Section: Monomorphizationmentioning
confidence: 99%
“…Other language implementations use monomorphization as well, including MLton [35] which employs wholeprogram monomorphization quite sucessfully for ML, and C++ does complete template expansion, which is similar to monomorphization. Some programming guidelines can reduce code explo-sion [33]. Another drawback is that monomorphization also requires the whole program to be available, or it must fall back on a universal representation when instantiations are not known across compilation unit boundaries.…”
Section: Monomorphizationmentioning
confidence: 99%