1 /*
2 * Fsgrep is a simple Java application which allows a user to
3 * search all files in a directory structure for lines matching
4 * a given pattern. Its functionality is a combination of the
5 * Unix 'find' and 'grep' utilities.
6 * Visit [http://fsgrep.sourceforge.net/] for more information.
7 *
8 * Copyright (C) 2003-2006 Murali Krishnan [murali_ca_us@users.sourceforge.net]
9 *
10 * Fsgrep is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public
12 * License as published by the Free Software Foundation.
13 *
14 * Fsgrep is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with Fsgrep (see the file named LICENSE.txt); if not, write
21 * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
22 * Boston, MA 02111-1307 USA
23 */
24
25 package mk.fsgrep.util;
26
27
28
29
30 /***
31 * Take performance measurements.
32 *
33 * @author Murali Krishnan
34 *
35 */
36 public class Timer {
37
38 //------------------------------------------------------------
39 //- Class Variables
40
41
42
43 //------------------------------------------------------------
44 //- Class Functions
45
46
47
48 //------------------------------------------------------------
49 //- Instance Variables
50
51 private long _start = 0;
52 private long _end = 0;
53 private long _total = 0;
54
55
56 //------------------------------------------------------------
57 //- Constructors
58
59 public Timer() {
60 setStart(System.currentTimeMillis());
61 }
62
63
64
65 //------------------------------------------------------------
66 //- Accessors
67
68 public long getStart() {return _start;}
69 public long getEnd() {return _end;}
70 public long getTotal() {return _total;}
71
72
73 //------------------------------------------------------------
74 //- Settors
75
76 public void setStart(long val) {_start=val;}
77 public void setEnd(long val) {_end=val;}
78 public void setTotal(long val) {_total=val;}
79
80
81 //------------------------------------------------------------
82 //- Private/Protected Utility Functions
83
84
85
86 //------------------------------------------------------------
87 //- Public Interface Functions
88
89 public void stop() {
90 setEnd(System.currentTimeMillis());
91 setTotal(getEnd() - getStart());
92 }
93
94
95 public double findAverage(int count) {
96 double result = 0; // Pessimistic.
97
98 if (count > 0) {
99 result = (double) (100 * getTotal() / count) / 100.0;
100 }
101
102 return result;
103 }
104
105
106 //------------------------------------------------------------
107 //- Class Interface Functions
108
109
110
111 //------------------------------------------------------------
112 //- Inner Classes
113
114
115
116 //------------------------------------------------------------
117 //- Main
118
119
120
121 }