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 }