View Javadoc

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 }