Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 14 (2006), Issue 2, Pages 45-59

EVector: An Efficient Vector Implementation – Using Virtual Memory for Improving Memory

Dries Kimpe,1,2 Stefan Vandewalle,2 and Stefaan Poedts1

1Centre for Plasma Astrophyics, Celestijnenlaan 200B, 3001 Leuven, Belgium
2Scientific Computing Research Group, Celestijnenlaan 200A, 3001 Leuven, Belgium

Received 7 December 2006; Accepted 7 December 2006

Copyright © 2006 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Every modern operating system provides some form of virtual memory to its applications. Usually, a hardware memory management unit (MMU) exists to efficiently support this. Although most operating systems allow user programs to indirectly control the MMU, few programs or programming languages actually make use of this facility. This article explores how the MMU can be used to enhance memory handling for resizable arrays. A reference implementation in C++ demonstrates its usability and superiority compared to the standard C++ vector class, and how to combine the scheme with an object-oriented environment. A number of other improvements, based on newly emerged insights in C++ are also presented.