view my_profile.h @ 3161:950496933384

configure cleanups: a few typos a few reordering (C src / _blah=no / cc_check && _blah=yes) preliminary support to display a summary of enabled modules at the end of the run of ./configure (only AO & VO right now/check for _{a,v}omodules) cleanups of config.mak : X_LIBS gathered everything and whatever - no longer the case Makefile cleanups to match the ones done in config.mak NB: it still compiles here (but I'm pretty sure this will break on some systems :)
author pl
date Tue, 27 Nov 2001 17:58:29 +0000
parents b7d3b450f8fd
children e9bd97d5c5cc
line wrap: on
line source

/*
 *  my_profile.h
 *
 *	Copyright (C) Nick Kurshev <nickols_k@mail.ru> - Oct 2001
 *
 *  You can redistribute this file under terms and conditions
 *  of GNU General Public licence v2.
 */
#ifndef MY_PROFILE_INC
#define MY_PROFILE_INC

extern volatile unsigned long long int my_profile_start,my_profile_end,my_profile_total;

#if defined ( ENABLE_PROFILE ) && defined ( ARCH_X86 )
static inline unsigned long long int read_tsc( void )
{
  unsigned long long int retval;
  __asm __volatile ("rdtsc":"=A"(retval)::"memory");
  return retval;
}

#define PROFILE_RESET()                 (my_profile_total=0ULL)
#define PROFILE_START()			{ static int inited=0; if(!inited) { inited=1; my_profile_total=0ULL; } my_profile_start=read_tsc(); }
#define PROFILE_END(your_message)	{ my_profile_end=read_tsc(); my_profile_total+=(my_profile_end-my_profile_start); printf(your_message" current=%llu total=%llu\n\t",(my_profile_end-my_profile_start),my_profile_total); }
#else
#define PROFILE_RESET()
#define PROFILE_START()
#define PROFILE_END(your_message)
#endif



#endif