![JAR search and dependency download from the Maven repository](/logo.png)
edu.berkeley.nlp.util.StopWatch Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of berkeleyparser Show documentation
Show all versions of berkeleyparser Show documentation
The Berkeley parser analyzes the grammatical structure of natural language using probabilistic context-free grammars (PCFGs).
The newest version!
package edu.berkeley.nlp.util;
/**
* Simple class for measuring elapsed time.
*/
public class StopWatch
{
public StopWatch()
{
}
public StopWatch(long ms)
{
startTime = 0;
endTime = ms;
this.ms = ms;
}
public void reset()
{
ms = 0;
isRunning = false;
}
public StopWatch start()
{
assert !isRunning;
isRunning = true;
startTime = System.currentTimeMillis();
return this;
}
public StopWatch stop()
{
assert isRunning;
endTime = System.currentTimeMillis();
isRunning = false;
ms = endTime - startTime;
n = 1;
return this;
}
public StopWatch accumStop()
{
// Stop and accumulate time
assert isRunning;
endTime = System.currentTimeMillis();
isRunning = false;
ms += endTime - startTime;
n++;
return this;
}
public void add(StopWatch w) {
assert !isRunning && !w.isRunning;
ms += w.ms;
n += w.n;
}
public long getCurrTimeLong()
{
return ms + (isRunning() ? System.currentTimeMillis() - startTime : 0);
}
@Override
public String toString()
{
long msCopy = ms;
long m = msCopy / 60000;
msCopy %= 60000;
long h = m / 60;
m %= 60;
long d = h / 24;
h %= 24;
long y = d / 365;
d %= 365;
long s = msCopy / 1000;
StringBuilder sb = new StringBuilder();
if (y > 0)
{
sb.append(y);
sb.append('y');
sb.append(d);
sb.append('d');
}
if (d > 0)
{
sb.append(d);
sb.append('d');
sb.append(h);
sb.append('h');
}
else if (h > 0)
{
sb.append(h);
sb.append('h');
sb.append(m);
sb.append('m');
}
else if (m > 0)
{
sb.append(m);
sb.append('m');
sb.append(s);
sb.append('s');
}
else if (s > 9)
{
sb.append(s);
sb.append('s');
}
else if (s > 0)
{
sb.append((ms / 100) / 10.0);
sb.append('s');
}
else
{
sb.append(ms / 1000.0);
sb.append('s');
}
return sb.toString();
}
public long startTime, endTime, ms;
public int n;
private boolean isRunning = false;
public boolean isRunning()
{
return isRunning;
}
// Use StopWatchSet instead
@Deprecated
public static void start(String s)
{
}
@Deprecated
public static void accumStop(String s)
{
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy