Archived
0

Benchmark Async vs Advanced event loops

This commit is contained in:
Daniil
2018-07-26 11:09:30 +07:00
parent b74292c336
commit 190749b739

View File

@@ -0,0 +1,52 @@
package ru.core.events;
import com.carrotsearch.junitbenchmarks.AbstractBenchmark;
import mc.core.events.LoginEvent;
import mc.core.events.async.AdvancedEventLoop;
import mc.core.events.async.AsyncEventLoop;
import org.junit.BeforeClass;
import org.junit.Test;
import ru.core.events.handlers.AsyncEventHandler;
public class AsyncEventLoopBenchmark extends AbstractBenchmark {
private static final int ITERATIONS = 50_000;
private static AsyncEventLoop asyncEventLoop;
private static AdvancedEventLoop advancedEventLoop;
private static LoginEvent testEvent;
@BeforeClass
public static void setup() {
asyncEventLoop = new AsyncEventLoop();
asyncEventLoop.addEventHandler(new AsyncEventHandler());
advancedEventLoop = new AdvancedEventLoop();
advancedEventLoop.addEventHandler(new AsyncEventHandler());
testEvent = new LoginEvent(null);
testEvent.setDenyReason("none");
}
@Test
public void measure() {
for (int i = 0; i < 10000; i++) {
asyncEventLoop.callEvent(testEvent);
}
}
/* @Test
@BenchmarkOptions(warmupRounds = 5, benchmarkRounds = 15)
public void async() {
while (true)
asyncEventLoop.callEvent(testEvent);
*//*for (int i = 0; i < ITERATIONS; i++) {
asyncEventLoop.callEvent(testEvent);
}*//*
}*/
/*
@Test
@BenchmarkOptions(warmupRounds = 5, benchmarkRounds = 15)
public void advanced() {
for (int i = 0; i < ITERATIONS; i++) {
advancedEventLoop.callEvent(testEvent);
}
}*/
}