From 7707854fbaf56c5e8f1df04be18b0dbfdd33db69 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Mar 2016 23:46:57 -0600 Subject: [PATCH] Configurable Chunk IO Thread Base Count diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java index 0ffa733..37ae817 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -120,6 +120,11 @@ public class PaperConfig { return config.getString(path, config.getString(path)); } + public static int minChunkLoadThreads = 2; + public static void chunkLoadThreads() { + minChunkLoadThreads = Math.min(6, getInt("settings.min-chunk-load-threads", 2)); // Keep people from doing stupid things with max of 6 + } + public static boolean useInteractLimiter; private static void useInteractLimiter() { useInteractLimiter = getBoolean("settings.limit-player-interactions", true); diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java index e4fd9bc..7b7a3d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java @@ -1,5 +1,6 @@ package org.bukkit.craftbukkit.chunkio; +import com.destroystokyo.paper.PaperConfig; import net.minecraft.server.Chunk; import net.minecraft.server.ChunkProviderServer; import net.minecraft.server.ChunkRegionLoader; @@ -7,7 +8,7 @@ import net.minecraft.server.World; import org.bukkit.craftbukkit.util.AsynchronousExecutor; public class ChunkIOExecutor { - static final int BASE_THREADS = 1; + static final int BASE_THREADS = PaperConfig.minChunkLoadThreads; // Paper static final int PLAYERS_PER_THREAD = 50; private static final AsynchronousExecutor instance = new AsynchronousExecutor(new ChunkIOProvider(), BASE_THREADS); -- 2.7.4