e546c55b6e
Removing chunks from the unload queue when performing chunk lookups is a costly activity. It drastically slows down server performance as many methods call getChunkAt, resulting in a bandaid to skip removing chunks from the unload queue. This patch optimizes the unload queue to instead use a boolean on the Chunk object itself to mark if the chunk is active, and then insert into a LinkedList queue. The benefits here is that all chunk unload queue actions are now O(1) constant time. A LinkedList will never need to resize, and can be removed from in constant time when used in a queue like method. We mark the chunk as active in many places that notify it is still being used, so that when the chunk unload queue reaches that chunk, and sees the chunk became active again, it will skip it and move to next. |
||
---|---|---|
BuildData@29cbded5ff | ||
Bukkit@60289d346e | ||
Bukkit-Patches | ||
CraftBukkit@a12b1a4770 | ||
CraftBukkit-Patches | ||
Paperclip@98c39e89d1 | ||
Spigot-API-Patches | ||
Spigot-Server-Patches | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
applyPatches.sh | ||
build.sh | ||
Contributing.md | ||
decompile.sh | ||
init.sh | ||
makemcdevsrc.sh | ||
paperclip.sh | ||
pom.xml | ||
README.md | ||
rebuildPatches.sh | ||
remap.sh | ||
upstreamMerge.sh |
Paper
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.
IRC Support and Project Discussion
How To (Server Admins)
Download a copy of Paperclip.jar from our buildserver here: https://ci.destroystokyo.com/job/PaperSpigot/
Run the PaperClip jar directly from your server. Just like old times
PaperSpigot requires Java 8 or above.
How To (Compiling From Source)
To compile PaperSpigot, you need JDK 8, maven, and an internet connection.
Clone this repo, run ./build.sh --jar from bash, get files.
Leave off --jar if you only wish to resync your checkout and not create a paperclip jar file just yet.
Special Thanks To:
YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting PaperSpigot an OSS license so that we can make our software the best it can be.