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