1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Test speeds for some HashTable operations
27 \*---------------------------------------------------------------------------*/
30 #include "HashTable.H"
31 #include "HashPtrTable.H"
33 #include "StaticHashTable.H"
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 int main(int argc, char *argv[])
43 const label nLoops = 30;
44 const label nBase = 100000;
45 const label nSize = nLoops * nBase;
50 // Map<label> map(2 * nSize);
51 // HashTable<label, label, Hash<label> > map(2 * nSize);
52 // StaticHashTable<label, label, Hash<label> > map(2 * nSize);
53 HashTable<label, label, Hash<label> > map(2 * nSize);
55 Info<< "Constructed map of size: " << nSize
56 << " (size " << map.size() << " capacity " << map.capacity() << ") "
57 << " " << timer.cpuTimeIncrement() << " s\n\n";
59 for (label i = 0; i < nSize; i++)
63 Info<< "Inserted " << nSize << " elements"
64 << " (size " << map.size() << " capacity " << map.capacity() << ") "
65 << timer.cpuTimeIncrement() << " s\n";
68 for (label iLoop = 0; iLoop < nLoops; iLoop++)
70 for (label i = 0; i < nBase; i++)
76 Info<< "loop " << iLoop << " - Erased " << nBase << " elements"
77 << " (size " << map.size() << " capacity " << map.capacity() << ") "
78 << timer.cpuTimeIncrement() << " s\n";
84 // ************************************************************************* //