Tweaked executor service settings
This commit is contained in:
@@ -6,16 +6,14 @@ import mc.core.events.Event;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
@Slf4j
|
||||
public class AsyncEventLoop extends AdvancedEventLoop {
|
||||
private static final double EMAPeriod = (2D / (50D + 1D));
|
||||
private static final double emaPeriod = (2D / (50D + 1D));
|
||||
private final ExecutorService preEventExecutor = new ThreadPoolExecutor(2, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<>());
|
||||
@Getter
|
||||
private double avgOverhead = 0;
|
||||
private ExecutorService preEventExecutor = Executors.newSingleThreadExecutor();
|
||||
|
||||
@Override
|
||||
public void callEvent(Event event) {
|
||||
@@ -77,7 +75,7 @@ public class AsyncEventLoop extends AdvancedEventLoop {
|
||||
if (avgOverhead == 0)
|
||||
avgOverhead = overhead;
|
||||
else
|
||||
avgOverhead = (overhead - avgOverhead) * EMAPeriod + avgOverhead;
|
||||
avgOverhead = (overhead - avgOverhead) * emaPeriod + avgOverhead;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.junit.Test;
|
||||
import ru.core.events.handlers.AsyncEventHandler;
|
||||
|
||||
public class AsyncEventLoopBenchmark extends AbstractBenchmark {
|
||||
private static final int ITERATIONS = 600;
|
||||
private static final int ITERATIONS = 200;
|
||||
private static AsyncEventLoop asyncEventLoop;
|
||||
private static AdvancedEventLoop advancedEventLoop;
|
||||
private static LoginEvent testEvent;
|
||||
@@ -19,8 +19,12 @@ public class AsyncEventLoopBenchmark extends AbstractBenchmark {
|
||||
public static void setup() {
|
||||
asyncEventLoop = new AsyncEventLoop();
|
||||
asyncEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
asyncEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
asyncEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
advancedEventLoop = new AdvancedEventLoop();
|
||||
advancedEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
advancedEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
advancedEventLoop.addEventHandler(new AsyncEventHandler());
|
||||
testEvent = new LoginEvent(null);
|
||||
testEvent.setDenyReason("none");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user