diff options
Diffstat (limited to 'kradio3/src/include/debug-profiler.h')
-rw-r--r-- | kradio3/src/include/debug-profiler.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/kradio3/src/include/debug-profiler.h b/kradio3/src/include/debug-profiler.h deleted file mode 100644 index 7ceb50d..0000000 --- a/kradio3/src/include/debug-profiler.h +++ /dev/null @@ -1,112 +0,0 @@ -/*************************************************************************** - debug-profiler.h - description - ------------------- - begin : Sat May 28 2005 - copyright : (C) 2005 by Martin Witte - email : witte@kawo1.rwth-aachen.de - ***************************************************************************/ - -/*************************************************************************** - * * - * 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. * - * * - ***************************************************************************/ - -#ifndef KRADIO_DEBUG_PROFILER_H -#define KRADIO_DEBUG_PROFILER_H - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <tqstring.h> -#include <tqmap.h> - -#if (defined __i386__) || (defined __x86_64__) -static __inline__ unsigned long long int rdtsc() -{ - unsigned int a, d; - asm volatile("rdtsc" : "=a" (a), "=d" (d)); - return ((unsigned long long)a) | (((unsigned long long)d) << 32); -} -#else -static __inline__ unsigned long long int rdtsc() -{ - return 0UL; -} -#endif - -class Profiler -{ -public: - Profiler(); - virtual ~Profiler(); - - void startProfile(const TQString &descr); - void stopProfile (const TQString &descr); - - void printData(); - -protected: - - virtual long long getCounter() const = 0; - - void stopInternalCounter(); - void startInternalCounter(); - - long long m_internalCounter; - long long m_tmpStartVal; - - struct profile_data - { - profile_data(long long start = 0) : - startCounter(start), accumulatedCounter(0), callCounter(0), - minCounter(0x7FFFFFFFFFFFFFFFll), maxCounter(0) {} - long long startCounter; - long long accumulatedCounter; - long long callCounter; - long long minCounter; - long long maxCounter; - }; - - TQMap<TQString, profile_data> m_ProfileData; -}; - - -class TimeProfiler : public Profiler -{ -protected: - long long getCounter() const { return rdtsc(); } -}; - - -class MemProfiler : public Profiler -{ -protected: - long long getCounter() const; -}; - - -extern TimeProfiler global_time_profiler; -extern MemProfiler global_mem_profiler; - - - -class BlockProfiler -{ -public: - BlockProfiler(const TQString &descr); - ~BlockProfiler(); - - void stop(); - -protected: - TQString m_Description; -}; - - - -#endif |