summaryrefslogtreecommitdiffhomepage
path: root/eigen/bench/btl/generic_bench/timers/portable_timer.hh
diff options
context:
space:
mode:
Diffstat (limited to 'eigen/bench/btl/generic_bench/timers/portable_timer.hh')
-rw-r--r--eigen/bench/btl/generic_bench/timers/portable_timer.hh187
1 files changed, 0 insertions, 187 deletions
diff --git a/eigen/bench/btl/generic_bench/timers/portable_timer.hh b/eigen/bench/btl/generic_bench/timers/portable_timer.hh
deleted file mode 100644
index c199811..0000000
--- a/eigen/bench/btl/generic_bench/timers/portable_timer.hh
+++ /dev/null
@@ -1,187 +0,0 @@
-//=====================================================
-// File : portable_timer.hh
-// Author : L. Plagne <laurent.plagne@edf.fr)> from boost lib
-// Copyright (C) EDF R&D, lun sep 30 14:23:17 CEST 2002
-//=====================================================
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// simple_time extracted from the boost library
-//
-#ifndef _PORTABLE_TIMER_HH
-#define _PORTABLE_TIMER_HH
-
-#include <ctime>
-#include <cstdlib>
-
-#include <time.h>
-
-
-#define USEC_IN_SEC 1000000
-
-
-// timer -------------------------------------------------------------------//
-
-// A timer object measures CPU time.
-#if defined(_MSC_VER)
-
-#define NOMINMAX
-#include <windows.h>
-
-/*#ifndef hr_timer
-#include "hr_time.h"
-#define hr_timer
-#endif*/
-
- class Portable_Timer
- {
- public:
-
- typedef struct {
- LARGE_INTEGER start;
- LARGE_INTEGER stop;
- } stopWatch;
-
-
- Portable_Timer()
- {
- startVal.QuadPart = 0;
- stopVal.QuadPart = 0;
- QueryPerformanceFrequency(&frequency);
- }
-
- void start() { QueryPerformanceCounter(&startVal); }
-
- void stop() { QueryPerformanceCounter(&stopVal); }
-
- double elapsed() {
- LARGE_INTEGER time;
- time.QuadPart = stopVal.QuadPart - startVal.QuadPart;
- return LIToSecs(time);
- }
-
- double user_time() { return elapsed(); }
-
-
- private:
-
- double LIToSecs(LARGE_INTEGER& L) {
- return ((double)L.QuadPart /(double)frequency.QuadPart) ;
- }
-
- LARGE_INTEGER startVal;
- LARGE_INTEGER stopVal;
- LARGE_INTEGER frequency;
-
-
- }; // Portable_Timer
-
-#elif defined(__APPLE__)
-#include <CoreServices/CoreServices.h>
-#include <mach/mach_time.h>
-
-
-class Portable_Timer
-{
- public:
-
- Portable_Timer()
- {
- }
-
- void start()
- {
- m_start_time = double(mach_absolute_time())*1e-9;;
-
- }
-
- void stop()
- {
- m_stop_time = double(mach_absolute_time())*1e-9;;
-
- }
-
- double elapsed()
- {
- return user_time();
- }
-
- double user_time()
- {
- return m_stop_time - m_start_time;
- }
-
-
-private:
-
- double m_stop_time, m_start_time;
-
-}; // Portable_Timer (Apple)
-
-#else
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-#include <sys/times.h>
-
-class Portable_Timer
-{
- public:
-
- Portable_Timer()
- {
- m_clkid = BtlConfig::Instance.realclock ? CLOCK_REALTIME : CLOCK_PROCESS_CPUTIME_ID;
- }
-
- Portable_Timer(int clkid) : m_clkid(clkid)
- {}
-
- void start()
- {
- timespec ts;
- clock_gettime(m_clkid, &ts);
- m_start_time = double(ts.tv_sec) + 1e-9 * double(ts.tv_nsec);
-
- }
-
- void stop()
- {
- timespec ts;
- clock_gettime(m_clkid, &ts);
- m_stop_time = double(ts.tv_sec) + 1e-9 * double(ts.tv_nsec);
-
- }
-
- double elapsed()
- {
- return user_time();
- }
-
- double user_time()
- {
- return m_stop_time - m_start_time;
- }
-
-
-private:
-
- int m_clkid;
- double m_stop_time, m_start_time;
-
-}; // Portable_Timer (Linux)
-
-#endif
-
-#endif // PORTABLE_TIMER_HPP