Commit | Line | Data |
---|---|---|
b311480e | 1 | // Created on: 2002-05-15 |
2 | // Created by: Alexander KARTOMIN (akm) | |
3 | // Copyright (c) 2002-2012 OPEN CASCADE SAS | |
4 | // | |
5 | // The content of this file is subject to the Open CASCADE Technology Public | |
6 | // License Version 6.5 (the "License"). You may not use the content of this file | |
7 | // except in compliance with the License. Please obtain a copy of the License | |
8 | // at http://www.opencascade.org and read it completely before using this file. | |
9 | // | |
10 | // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its | |
11 | // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. | |
12 | // | |
13 | // The Original Code and all software distributed under the License is | |
14 | // distributed on an "AS IS" basis, without warranty of any kind, and the | |
15 | // Initial Developer hereby disclaims all such warranties, including without | |
16 | // limitation, any warranties of merchantability, fitness for a particular | |
17 | // purpose or non-infringement. Please see the License for the specific terms | |
18 | // and conditions governing the rights and limitations under the License. | |
19 | ||
ba39a6a3 Y |
20 | |
21 | ||
22 | #ifndef QANCollection_PerfSparseArray_HeaderFile | |
23 | #define QANCollection_PerfSparseArray_HeaderFile | |
24 | ||
25 | #define PERF_ENABLE_METERS | |
26 | #include <DebugTools.h> | |
27 | ////////////////////////////////#include <Perf_Meter.hxx> | |
28 | #include <NCollection_SparseArray.hxx> | |
29 | #include <NCollection_SparseArrayBase.hxx> | |
30 | ||
31 | // ===================== Test perform of SparseArray type ========================== | |
32 | void CompSparseArray (const Standard_Integer theRep, const Standard_Integer theSize) | |
33 | { | |
34 | Standard_Integer i,j; | |
35 | for (i=0; i<theRep; i++) | |
36 | { | |
37 | PERF_START_METER("NCollection_SparseArray creation") | |
38 | ||
39 | NCollection_SparseArray<Standard_Integer> a1(theSize),a2(theSize); | |
40 | ||
41 | PERF_STOP_METER("NCollection_SparseArray creation") | |
42 | ||
43 | PERF_START_METER("NCollection_SparseArray filling") | |
44 | for( j=0;j<theSize;j++ ) | |
45 | { | |
46 | Standard_Integer iIndex; | |
47 | Random(iIndex,theSize); | |
48 | a1.SetValue(j,iIndex+1); | |
49 | } | |
50 | ||
51 | PERF_STOP_METER("NCollection_SparseArray filling") | |
52 | ||
53 | PERF_START_METER("NCollection_SparseArray size") | |
54 | Standard_Integer sizeSparseArray=a1.Size(); | |
55 | PERF_STOP_METER("NCollection_SparseArray size") | |
56 | ||
57 | PERF_START_METER("NCollection_Array1 Assign") | |
58 | a2.Assign(a1); | |
59 | PERF_STOP_METER("NCollection_Array1 Assign") | |
60 | PERF_START_METER("NCollection_SparseArray HasValue") | |
61 | for (j=0; j<theSize; j++) | |
62 | { | |
63 | Standard_Integer iIndex; | |
64 | Random(iIndex,theSize); | |
65 | a2.HasValue(iIndex+1); | |
66 | } | |
67 | PERF_STOP_METER("NCollection_SparseArray HasValue") | |
68 | PERF_START_METER("NCollection_SparseArray UnsetValue") | |
69 | for (j=0; j<theSize; j++) | |
70 | { | |
71 | Standard_Integer iIndex; | |
72 | Random(iIndex,theSize); | |
73 | a1.UnsetValue(iIndex+1); | |
74 | } | |
75 | PERF_STOP_METER("NCollection_SparseArray UnsetValue") | |
76 | ||
77 | PERF_START_METER("NCollection_SparseArray Clear") | |
78 | a1.Clear(); | |
79 | a2.Clear(); | |
80 | PERF_STOP_METER("NCollection_SparseArray Clear") | |
81 | ||
82 | } | |
83 | ||
84 | PERF_PRINT_ALL_METERS | |
85 | } | |
86 | ||
87 | #endif |