time measurement

This commit is contained in:
prascle 2010-08-24 14:25:37 +00:00
parent 4eb3d62127
commit 0d9a33c24b
7 changed files with 22 additions and 14 deletions

View File

@ -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.

View File

@ -59,7 +59,6 @@ protected:
std::vector<int> _cellIdToDownId; //!< convert vtk Id to downward[vtkType] id, initialized with -1
std::vector<unsigned char> _downTypes;
std::vector<SMDS_Downward*> _downArray;
counters *_counters;
};
#endif /* _SMDS_UNSTRUCTUREDGRID_HXX */

View File

@ -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;
}

View File

@ -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

View File

@ -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);
}
//=============================================================================

View File

@ -41,6 +41,8 @@
#include "SMESH_3D_Algo.hxx"
#include "SMESH_Mesh.hxx"
#include "chrono.hxx"
#include <TopoDS_Shape.hxx>
#include <map>
@ -159,6 +161,7 @@ private:
int _segmentation;
// default of segments
int _nbSegments;
counters *_counters;
};
#endif

View File

@ -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::vector<TIDSorted
SMESHDS_Mesh *meshDS = this->myMesh->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::vector<TIDSorted
grid->BuildLinks();
// TODO replace also old nodes by new nodes in faces and edges
CHRONOSTOP(50);
counters::stats();
}
//================================================================================