From bbde2f5e069379a6bb09cca70747dcc7d3c88c4f Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Fri, 22 May 2020 10:44:51 +0100 Subject: [PATCH] Slow down queue a bit because 1.13+ performance is bad --- .../com/plotsquared/core/configuration/Settings.java | 4 ++-- .../com/plotsquared/core/queue/GlobalBlockQueue.java | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Core/src/main/java/com/plotsquared/core/configuration/Settings.java b/Core/src/main/java/com/plotsquared/core/configuration/Settings.java index 3fbd71394..2be87ada3 100644 --- a/Core/src/main/java/com/plotsquared/core/configuration/Settings.java +++ b/Core/src/main/java/com/plotsquared/core/configuration/Settings.java @@ -491,9 +491,9 @@ public class Settings extends Config { @Comment("Settings relating to PlotSquared's GlobalBlockQueue") public static final class QUEUE { - @Comment({"Average time per tick spent completing chunk tasks in ms. Target average TPS = 20 * 50 / TARGET_TIME.", + @Comment({"Average time per tick spent completing chunk tasks in ms.", "Waits (chunk task time / target_time) ticks before completely the next task."}) - public static int TARGET_TIME = 65; + public static int TARGET_TIME = 40; } diff --git a/Core/src/main/java/com/plotsquared/core/queue/GlobalBlockQueue.java b/Core/src/main/java/com/plotsquared/core/queue/GlobalBlockQueue.java index 3b63a94c0..6abfea8f8 100644 --- a/Core/src/main/java/com/plotsquared/core/queue/GlobalBlockQueue.java +++ b/Core/src/main/java/com/plotsquared/core/queue/GlobalBlockQueue.java @@ -57,6 +57,7 @@ public class GlobalBlockQueue { private final RunnableVal2 SET_TASK = new RunnableVal2() { @Override public void run(Long free, LocalBlockQueue queue) { + long t1 = System.currentTimeMillis(); do { boolean more = queue.next(); if (!more) { @@ -66,9 +67,9 @@ public class GlobalBlockQueue { } return; } - } while ((lastPeriod = - ((GlobalBlockQueue.this.secondLast = System.currentTimeMillis()) - - GlobalBlockQueue.this.last)) < free); + } while (((GlobalBlockQueue.this.secondLast = System.currentTimeMillis()) + - GlobalBlockQueue.this.last) < free); + lastPeriod = System.currentTimeMillis() - t1; } }; @@ -124,8 +125,8 @@ public class GlobalBlockQueue { lastPeriod -= targetTime; return; } - SET_TASK.value1 = 50 + Math.min( - (50 + GlobalBlockQueue.this.last) - (GlobalBlockQueue.this.last = + SET_TASK.value1 = 30 + Math.min( + (30 + GlobalBlockQueue.this.last) - (GlobalBlockQueue.this.last = System.currentTimeMillis()), GlobalBlockQueue.this.secondLast - System.currentTimeMillis()); SET_TASK.value2 = GlobalBlockQueue.this.getNextQueue();