~ubuntu-branches/ubuntu/saucy/darktable/saucy

« back to all changes in this revision

Viewing changes to src/common/profiling.h

  • Committer: Bazaar Package Importer
  • Author(s): David Bremner
  • Date: 2011-04-14 23:42:12 UTC
  • Revision ID: james.westby@ubuntu.com-20110414234212-kuffcz5wiu18v6ra
Tags: upstream-0.8
ImportĀ upstreamĀ versionĀ 0.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    This file is part of darktable,
 
3
    copyright (c) 2009--2010 Henrik Andersson.
 
4
 
 
5
    darktable is free software: you can redistribute it and/or modify
 
6
    it under the terms of the GNU General Public License as published by
 
7
    the Free Software Foundation, either version 3 of the License, or
 
8
    (at your option) any later version.
 
9
 
 
10
    darktable is distributed in the hope that it will be useful,
 
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
    GNU General Public License for more details.
 
14
 
 
15
    You should have received a copy of the GNU General Public License
 
16
    along with darktable.  If not, see <http://www.gnu.org/licenses/>.
 
17
*/
 
18
 
 
19
#ifndef __PROFILING_H
 
20
#define __PROFILING_H
 
21
 
 
22
#include "gui/gtk.h"
 
23
 
 
24
 
 
25
#ifdef USE_DARKTABLE_PROFILING
 
26
#define TIMER_START(name,description) dt_timer_t * name = dt_timer_start_with_name(__FILE__,__FUNCTION__,description)
 
27
#else
 
28
#define TIMER_START(name,description) {}
 
29
#endif
 
30
 
 
31
#ifdef USE_DARKTABLE_PROFILING
 
32
#define TIMER_STOP(name) dt_timer_stop_with_name(name)
 
33
#else
 
34
#define TIMER_STOP(name) {}
 
35
#endif
 
36
 
 
37
#ifdef USE_DARKTABLE_PROFILING
 
38
typedef struct dt_timer_t
 
39
{
 
40
  const char *file;
 
41
  const char *function;
 
42
  const char *description;
 
43
  GTimer *timer;
 
44
}
 
45
dt_timer_t;
 
46
 
 
47
dt_timer_t *dt_timer_start_with_name(const char *file,const char *function,const char *description);
 
48
void dt_timer_stop_with_name(dt_timer_t *);
 
49
#endif
 
50
 
 
51
#endif