Skip to content

Commit 4feae26

Browse files
committed
minor perf measuring improvements
1 parent 87f9c32 commit 4feae26

2 files changed

Lines changed: 44 additions & 14 deletions

File tree

EventBusPerformance/src/de/greenrobot/eventperf/testsubject/PerfTestOtto.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,9 @@ public RegisterAll(Context context, TestParams params) {
8787
}
8888

8989
public void runTest() {
90-
long timeStart = System.nanoTime();
91-
super.registerSubscribers();
92-
long timeEnd = System.nanoTime();
93-
94-
primaryResultMicros = (timeEnd - timeStart) / 1000;
90+
super.registerUnregisterOneSubscribers();
91+
long timeNanos = super.registerSubscribers();
92+
primaryResultMicros = timeNanos / 1000;
9593
primaryResultCount = params.getSubscriberCount();
9694
}
9795

@@ -111,6 +109,10 @@ public RegisterOneByOne(Context context, TestParams params) {
111109
@SuppressWarnings("rawtypes")
112110
public void runTest() {
113111
long time = 0;
112+
if (cacheField == null) {
113+
// Skip first registration unless just the first registration is tested
114+
super.registerUnregisterOneSubscribers();
115+
}
114116
for (Object subscriber : super.subscribers) {
115117
if (cacheField != null) {
116118
try {
@@ -185,13 +187,26 @@ public void dummy5() {
185187

186188
}
187189

188-
private void registerSubscribers() {
190+
private long registerSubscribers() {
191+
long time = 0;
189192
for (Object subscriber : subscribers) {
193+
long timeStart = System.nanoTime();
190194
eventBus.register(subscriber);
195+
long timeEnd = System.nanoTime();
196+
time += timeEnd - timeStart;
191197
if (canceled) {
192-
return;
198+
return 0;
193199
}
194200
}
201+
return time;
202+
}
203+
204+
private void registerUnregisterOneSubscribers() {
205+
if (!subscribers.isEmpty()) {
206+
Object subscriber = subscribers.get(0);
207+
eventBus.register(subscriber);
208+
eventBus.unregister(subscriber);
209+
}
195210
}
196211

197212
}

EventBusPerformance/src/de/greenrobot/eventperf/testsubject/TestEventBus.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,9 @@ public RegisterAll(Context context, TestParams params) {
9898
}
9999

100100
public void runTest() {
101-
long timeStart = System.nanoTime();
102-
super.registerSubscribers();
103-
long timeEnd = System.nanoTime();
104-
105-
primaryResultMicros = (timeEnd - timeStart) / 1000;
101+
super.registerUnregisterOneSubscribers();
102+
long timeNanos = super.registerSubscribers();
103+
primaryResultMicros = timeNanos / 1000;
106104
primaryResultCount = params.getSubscriberCount();
107105
}
108106

@@ -121,6 +119,10 @@ public RegisterOneByOne(Context context, TestParams params) {
121119

122120
public void runTest() {
123121
long time = 0;
122+
if (clearCachesMethod == null) {
123+
// Skip first registration unless just the first registration is tested
124+
super.registerUnregisterOneSubscribers();
125+
}
124126
for (Object subscriber : super.subscribers) {
125127
if (clearCachesMethod != null) {
126128
try {
@@ -253,13 +255,26 @@ public void dummy5() {
253255
}
254256
}
255257

256-
private void registerSubscribers() {
258+
private long registerSubscribers() {
259+
long time = 0;
257260
for (Object subscriber : subscribers) {
261+
long timeStart = System.nanoTime();
258262
eventBus.register(subscriber);
263+
long timeEnd = System.nanoTime();
264+
time += timeEnd - timeStart;
259265
if (canceled) {
260-
return;
266+
return 0;
261267
}
262268
}
269+
return time;
270+
}
271+
272+
private void registerUnregisterOneSubscribers() {
273+
if (!subscribers.isEmpty()) {
274+
Object subscriber = subscribers.get(0);
275+
eventBus.register(subscriber);
276+
eventBus.unregister(subscriber);
277+
}
263278
}
264279

265280
}

0 commit comments

Comments
 (0)