ESYS13  Revision_
blocktimer.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 #ifndef blocktimer_h
00016 #define blocktimer_h
00017 
00018 #include <stdio.h>
00019 #include <search.h>
00020 #include "system_dep.h"
00021 
00022 /* Enable the block timer (or remove this and use -DBLOCKTIMER) */
00023 /* # define BLOCKTIMER */
00024 
00025 # define NUM_TIMERS 1024
00026 
00027 ESYSUTILS_DLL_API
00028 void blocktimer_initialize();
00029 ESYSUTILS_DLL_API
00030 void blocktimer_increment(__const char *name, double start_time);
00031 ESYSUTILS_DLL_API
00032 int blocktimer_getOrCreateTimerId(__const char *name);
00033 ESYSUTILS_DLL_API
00034 void blocktimer_reportSortByName();
00035 ESYSUTILS_DLL_API
00036 void blocktimer_reportSortByTime();
00037 ESYSUTILS_DLL_API
00038 double blocktimer_time();
00039 
00040 
00041 #endif