Version: 9.16.0
Utils_Timer.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// SALOME Utils : general SALOME's definitions and tools
24// File : Utils_Timer.hxx
25// Module : SALOME
26//
27#include "SALOME_Utils.hxx"
28
29#include <stdlib.h>
30#include <time.h>
31
32#ifndef WIN32
33# include <sys/times.h>
34# include <sys/time.h>
35# include <unistd.h>
36#else
37# include <windows.h>
38# include <time.h>
39# include <sys/timeb.h>
40#define _POSIX_
41#endif
42
44 public:
46 virtual ~Utils_Timer();
47 void Start();
48 void Stop();
49 void Reset();
50 void Show();
51 void ShowAbsolute();
52 protected:
53 double Cumul_user;
54 double Cumul_sys;
55 bool Stopped;
56#ifndef WIN32
57 tms *RefToCurrentTMS, *RefToInitialTMS;
58 timeval *RefToCurrentTimeB, *RefToInitialTimeB;
59#else
60 FILETIME *RefToCurrentTMS, *RefToInitialTMS;
61 time_t *RefToCurrentTimeB, *RefToInitialTimeB;
62#endif
63};
#define UTILS_EXPORT
Definition: SALOME_Utils.hxx:37
Definition: Utils_Timer.hxx:43
bool Stopped
Definition: Utils_Timer.hxx:55
tms * RefToCurrentTMS
Definition: Utils_Timer.hxx:57
double Cumul_user
Definition: Utils_Timer.hxx:53
double Cumul_sys
Definition: Utils_Timer.hxx:54
timeval * RefToCurrentTimeB
Definition: Utils_Timer.hxx:58