Help Privacy Policy Disclaimer
  Advanced SearchBrowse




Conference Paper

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


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

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
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.