summaryrefslogtreecommitdiff
path: root/same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java
diff options
context:
space:
mode:
Diffstat (limited to 'same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java')
-rw-r--r--same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java b/same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java
new file mode 100644
index 0000000..a3e32b8
--- /dev/null
+++ b/same-android/src/main/java/com/orbekk/same/android/benchmark/Timer.java
@@ -0,0 +1,52 @@
+package com.orbekk.same.android.benchmark;
+
+import java.util.ArrayList;
+
+public class Timer {
+ ArrayList<Long> samples;
+ boolean running = false;
+ long startTime = 0;
+
+ public Timer() {
+ samples = new ArrayList<Long>();
+ }
+
+ public Timer(int capacity) {
+ samples = new ArrayList<Long>(capacity);
+ }
+
+ public boolean isRunning() {
+ return running;
+ }
+
+ public void start() {
+ startTime = System.currentTimeMillis();
+ running = true;
+ }
+
+ public void stop() {
+ long stopTime = System.currentTimeMillis();
+ running = false;
+ samples.add(stopTime - startTime);
+ }
+
+ public long getLastMeasurement() {
+ return samples.get(samples.size() - 1);
+ }
+
+ public ArrayList<Long> getTimes() {
+ return new ArrayList<Long>(samples);
+ }
+
+ public long getSum() {
+ long sum = 0;
+ for (long s : samples) {
+ sum += s;
+ }
+ return sum;
+ }
+
+ public String toString() {
+ return "Timer[sum(" + getSum() + "), samples(" + samples + ")]";
+ }
+}