From 0d9a33c24b8251a9dcb5be8c867a61652401414a Mon Sep 17 00:00:00 2001 From: prascle Date: Tue, 24 Aug 2010 14:25:37 +0000 Subject: [PATCH] time measurement --- src/SMDS/SMDS_UnstructuredGrid.cxx | 3 +-- src/SMDS/SMDS_UnstructuredGrid.hxx | 1 - src/SMDS/chrono.cxx | 19 ++++++++++--------- src/SMDS/chrono.hxx | 4 ++-- src/SMESH/SMESH_Gen.cxx | 2 ++ src/SMESH/SMESH_Gen.hxx | 3 +++ src/SMESH/SMESH_MeshEditor.cxx | 4 ++++ 7 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/SMDS/SMDS_UnstructuredGrid.cxx b/src/SMDS/SMDS_UnstructuredGrid.cxx index 1212276b8..a543900a9 100644 --- a/src/SMDS/SMDS_UnstructuredGrid.cxx +++ b/src/SMDS/SMDS_UnstructuredGrid.cxx @@ -28,7 +28,6 @@ SMDS_UnstructuredGrid::SMDS_UnstructuredGrid() : _downTypes.clear(); _downArray.clear(); _mesh = 0; - _counters = new counters(100); } SMDS_UnstructuredGrid::~SMDS_UnstructuredGrid() @@ -664,7 +663,7 @@ void SMDS_UnstructuredGrid::BuildDownwardConnectivity(bool withEdges) } } }CHRONOSTOP(24);CHRONOSTOP(2); - _counters->stats(); + counters::stats(); } /*! Get the neighbors of a cell. diff --git a/src/SMDS/SMDS_UnstructuredGrid.hxx b/src/SMDS/SMDS_UnstructuredGrid.hxx index d204a5c89..e8f871f17 100644 --- a/src/SMDS/SMDS_UnstructuredGrid.hxx +++ b/src/SMDS/SMDS_UnstructuredGrid.hxx @@ -59,7 +59,6 @@ protected: std::vector _cellIdToDownId; //!< convert vtk Id to downward[vtkType] id, initialized with -1 std::vector _downTypes; std::vector _downArray; - counters *_counters; }; #endif /* _SMDS_UNSTRUCTUREDGRID_HXX */ diff --git a/src/SMDS/chrono.cxx b/src/SMDS/chrono.cxx index d33856aaa..73fbddb20 100644 --- a/src/SMDS/chrono.cxx +++ b/src/SMDS/chrono.cxx @@ -23,14 +23,15 @@ using namespace std; cntStruct* counters::_ctrs = 0; - +int counters::_nbChrono = 0; + counters::counters(int nb) { MESSAGE("counters::counters(int nb)"); _nbChrono = nb; _ctrs = new cntStruct[_nbChrono]; - for (int i=0; i< _nbChrono; i++) + for (int i = 0; i < _nbChrono; i++) { _ctrs[i]._ctrNames = 0; _ctrs[i]._ctrLines = 0; @@ -49,7 +50,7 @@ counters::~counters() void counters::stats() { MESSAGE("counters::stats()"); - for (int i=0; i < _nbChrono; i++) + for (int i = 0; i < _nbChrono; i++) if (_ctrs[i]._ctrOccur) { MESSAGE("Compteur[" << i << "]: "<< _ctrs[i]._ctrNames << "[" << _ctrs[i]._ctrLines << "]"); @@ -58,17 +59,17 @@ void counters::stats() } } - - -chrono::chrono(int i) : _ctr(i), _run(true) +chrono::chrono(int i) : + _ctr(i), _run(true) { //MESSAGE("chrono::chrono " << _ctr << " " << _run); - _start = clock(); + _start = clock(); } chrono::~chrono() { - if (_run) stop(); + if (_run) + stop(); } void chrono::stop() @@ -78,7 +79,7 @@ void chrono::stop() { _run = false; _end = clock(); - double elapse = double(_end - _start)/double(CLOCKS_PER_SEC); + double elapse = double(_end - _start) / double(CLOCKS_PER_SEC); counters::_ctrs[_ctr]._ctrOccur++; counters::_ctrs[_ctr]._ctrCumul += elapse; } diff --git a/src/SMDS/chrono.hxx b/src/SMDS/chrono.hxx index c48ec8514..6c7b3c976 100644 --- a/src/SMDS/chrono.hxx +++ b/src/SMDS/chrono.hxx @@ -39,9 +39,9 @@ public: static cntStruct *_ctrs; counters(int nb); ~counters(); - void stats(); + static void stats(); protected: - int _nbChrono; + static int _nbChrono; }; class chrono diff --git a/src/SMESH/SMESH_Gen.cxx b/src/SMESH/SMESH_Gen.cxx index 874a6efec..9c5b8e20f 100644 --- a/src/SMESH/SMESH_Gen.cxx +++ b/src/SMESH/SMESH_Gen.cxx @@ -25,6 +25,7 @@ // Author : Paul RASCLE, EDF // Module : SMESH // +#define CHRONODEF #include "SMESH_Gen.hxx" #include "SMESH_subMesh.hxx" #include "SMESH_HypoFilter.hxx" @@ -60,6 +61,7 @@ SMESH_Gen::SMESH_Gen() _segmentation = 10; SMDS_Mesh::_meshList.clear(); MESSAGE(SMDS_Mesh::_meshList.size()); + _counters = new counters(100); } //============================================================================= diff --git a/src/SMESH/SMESH_Gen.hxx b/src/SMESH/SMESH_Gen.hxx index 606c96d18..a9af382ef 100644 --- a/src/SMESH/SMESH_Gen.hxx +++ b/src/SMESH/SMESH_Gen.hxx @@ -41,6 +41,8 @@ #include "SMESH_3D_Algo.hxx" #include "SMESH_Mesh.hxx" +#include "chrono.hxx" + #include #include @@ -159,6 +161,7 @@ private: int _segmentation; // default of segments int _nbSegments; + counters *_counters; }; #endif diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index ac727041e..edbe6da4d 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -25,6 +25,7 @@ // Created : Mon Apr 12 16:10:22 2004 // Author : Edward AGAPOV (eap) // +#define CHRONODEF #include "SMESH_MeshEditor.hxx" #include "SMDS_FaceOfNodes.hxx" @@ -10277,6 +10278,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectormyMesh->GetMeshDS(); meshDS->BuildDownWardConnectivity(false); + CHRONO(50); SMDS_UnstructuredGrid *grid = meshDS->getGrid(); // --- build the list of faces shared by 2 domains (group of elements), with their domain and volume indexes @@ -10441,6 +10443,8 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorBuildLinks(); // TODO replace also old nodes by new nodes in faces and edges + CHRONOSTOP(50); + counters::stats(); } //================================================================================ -- 2.39.2