English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Conference Paper

Reference Counting in Library Design - Optionally and with Union-find Optimization

MPS-Authors
/persons/resource/persons44766

Kettner,  Lutz
Algorithms and Complexity, MPI for Informatics, Max Planck Society;

External Resource
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Kettner, L. (2006). Reference Counting in Library Design - Optionally and with Union-find Optimization. In D. Musser, & J. Siek (Eds.), Proceedings of the First International Workshop on Library-Centric Software Design, LCSD'05 (pp. 34-43). St. Troy, NY: Rensselaer Polytechnic Institute, Computer Science Department.


Cite as: http://hdl.handle.net/11858/00-001M-0000-0019-E67B-4
Abstract
Reference counting has been used and described in abundance. We present novel ideas aimed at class implementations in library design: (1) In library design, generic classes can have variable size, such that an optimal decision for or against reference counting is not possible. We \emphpostpone} this decision to the place of class use. (2) In a context, where equality comparison for the case of equality is expensive, e.g., for exact algebraic number representations, we \emph{unify representations} whenever equality was detected, thus effectively caching equality tests. We explain an efficient implementation based on an union-find data structure. (3) Reference counting and \emph{polymorphic class hierarchies} can be combined reusing the pointer in the handle class for the polymorphism. A policy-based generic C++ solution realizes all ideas. \emph{Standard allocators manage all dynamic memory.