mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-29 23:09:33 +01:00
9147456fc9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic 7dcb59b8e Avoid switch on material in previous commit Spigot Changes: 19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Mon, 30 Aug 2021 04:26:40 -0700
|
|
Subject: [PATCH] Reduce worldgen thread worker count for low core count CPUs
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
|
|
index 439ae035d8b2787916e017e2636115b5455811f1..a54c0a4d0849087229d08ccc89872c3603f2f426 100644
|
|
--- a/src/main/java/net/minecraft/Util.java
|
|
+++ b/src/main/java/net/minecraft/Util.java
|
|
@@ -146,7 +146,19 @@ public class Util {
|
|
|
|
private static ExecutorService makeExecutor(String s, int priorityModifier) { // Paper - add priority
|
|
// Paper start - use simpler thread pool that allows 1 thread
|
|
- int i = Math.min(8, Math.max(Runtime.getRuntime().availableProcessors() - 2, 1));
|
|
+ // Paper start - also try to avoid suffocating the system with the worldgen workers
|
|
+ int cpus = Runtime.getRuntime().availableProcessors() / 2;
|
|
+ int i;
|
|
+ if (cpus <= 4) {
|
|
+ i = cpus <= 2 ? 1 : 2;
|
|
+ } else if (cpus <= 8) {
|
|
+ // [5, 8]
|
|
+ i = Math.max(3, cpus - 2);
|
|
+ } else {
|
|
+ i = cpus * 2 / 3;
|
|
+ }
|
|
+ i = Math.min(8, i);
|
|
+ // Paper end - also try to avoid suffocating the system with the worldgen workers
|
|
i = Integer.getInteger("Paper.WorkerThreadCount", i);
|
|
ExecutorService executorService;
|
|
|