Performance of C++ bit-vector implementations

  • Authors:
  • Vreda Pieterse;Derrick G. Kourie;Loek Cleophas;Bruce W. Watson

  • Affiliations:
  • University of Pretoria, South Africa;University of Pretoria, South Africa;Eindhoven University of Technology, The Netherlands;University of Pretoria, South Africa

  • Venue:
  • SAICSIT '10 Proceedings of the 2010 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes an experimental study to compare the performance of various dynamically resizable bit-vector implementations for the C++ programming language. We compare the std::vector from the Standard Template Library (STL), boost::dynamic_bitset from Boost, Qt::QBitArray from QT Software, and BitMagic's bm::bvector with one another. We also compare std::vector from the STL with these because it is a dynamically resizable vector implementation that has been suggested to be an acceptable alternative for std::vector. We describe the test data and the methods that were applied to measure memory use and processing time. This lays a foundation for comparing other parts of the different C++ libraries. The results are presented and discussed in terms of the differences in the implementations of these data structures. Although the results reported in this article is specific to the mentioned C++ libraries, the techniques used to measure and compare the performance of the different libraries go beyond C++ bit-vectors and may be used more generally.