PaperMC/Spigot-Server-Patches
Aikar 11a3044c3c Optimize Chunk Unload Queue
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.
2016-03-18 18:03:44 -04:00
..
Add-async-chunk-load-API.patch Rebuild patches 2016-03-07 00:57:19 -06:00
Add-BeaconEffectEvent.patch Rebuild some patches 2016-03-12 00:40:16 -06:00
Add-configurable-despawn-distances-for-living-entiti.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-configurable-portal-search-radius.patch Rebuild patches 2016-03-07 15:54:14 -06:00
Add-exception-reporting-event.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-Location-support-to-tab-completers-vanilla-featu.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-methods-for-working-with-arrows-stuck-in-living-.patch Add methods for working with arrows stuck in living entities 2016-03-08 20:21:08 -08:00
Add-player-view-distance-API.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-PlayerInitialSpawnEvent.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-velocity-warnings.patch Paper 1.9 2016-02-29 17:09:49 -06:00
All-chunks-are-slime-spawn-chunks-toggle.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Allow-for-toggling-of-spawn-chunks.patch Update and rebuild patches 2016-03-06 14:59:17 -06:00
Allow-nerfed-mobs-to-jump.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Always-tick-falling-blocks.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Avoid-hopper-searches-if-there-are-no-items.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Be-a-bit-more-informative-in-maxHealth-exception.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Bump-thread-count-for-chunk-loading.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Change-implementation-of-tile-entity-removal-list.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Check-online-mode-before-converting-and-renaming-pla.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Chunk-save-queue-improvements.patch reduce sleep rate if file io thread sleep is enabled 2016-03-18 13:40:46 -04:00
Chunk-Save-Reattempt.patch Chunk Save Reattempt 2016-03-18 01:35:26 -04:00
Complete-resource-pack-API.patch Add more complete resource pack API 2016-03-08 22:23:59 -08:00
Configurable-async-light-updates.patch Forcibly disable async light updates for the time being 2016-03-08 16:23:28 -06:00
Configurable-baby-zombie-movement-speed.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-cactus-and-reed-natural-growth-heights.patch Rebuild patches 2016-03-07 15:54:14 -06:00
Configurable-container-update-tick-rate.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-end-credits.patch Fix the end credits toggle 2016-03-16 02:21:39 -05:00
Configurable-fishing-time-ranges.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-lava-flow-speed.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-mob-spawner-tick-rate.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-Non-Player-Arrow-Despawn-Rate.patch Move config change into config patch 2016-03-18 16:41:26 -05:00
Configurable-speed-for-water-flowing-over-lava.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-squid-spawn-ranges.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-TNT-cannon-fix.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Configurable-top-of-nether-void-damage.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Default-loading-permissions.yml-before-plugins.patch Default loading permissions.yml before plugins 2016-03-18 13:23:48 -04:00
Disable-chest-cat-detection.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Disable-explosion-knockback.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Disable-ice-and-snow.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Disable-Scoreboards-for-non-players-by-default.patch Disable Scoreboards for non players by default 2016-03-08 23:42:08 -05:00
Disable-spigot-tick-limiters.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Disable-thunder.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Don-t-create-a-chunk-just-to-unload-it.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch Don't nest if we don't need to when cerealising text components 2016-03-08 18:29:39 -08:00
Drop-falling-block-and-tnt-entities-at-the-specified.patch Paper 1.9 2016-02-29 17:09:49 -06:00
EAR-Fix-bug-with-teleporting-entities.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Ensure-commands-are-not-ran-async.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Ensure-inv-drag-is-in-bounds.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Expose-server-CommandMap.patch Paper 1.9 2016-02-29 17:09:49 -06:00
FallingBlock-and-TNTPrimed-source-location-API.patch Rebuild patches 2016-03-04 15:20:13 -06:00
Fast-draining.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Fix-Furnace-cook-time-bug.patch Fix Furnace cook time bug 2016-03-18 14:27:53 -04:00
Fix-inter-world-teleportation-glitches.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Fix-lag-from-explosions-processing-dead-entities.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Fix-lava-water-some-times-creating-air-instead-of-co.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Fix-redstone-lag-issues.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Further-improve-server-tick-loop.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Generator-Settings.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Graduate-bungeecord-chat-API-from-spigot-subclasses.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Handle-Item-Meta-Inconsistencies.patch Handle Item Meta Inconsistencies 2016-03-18 14:56:16 -04:00
Invalidate-Metadata-on-reload.patch Invalidate Metadata on reload 2016-03-18 13:50:33 -04:00
Made-EntityDismountEvent-Cancellable.patch Update for upstream changes 2016-03-03 03:46:26 -06:00
mc-dev-imports.patch Upstream changes 2016-03-17 23:29:51 -05:00
Metrics.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Only-refresh-abilities-if-needed.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Optimize-Chunk-Unload-Queue.patch Optimize Chunk Unload Queue 2016-03-18 18:03:44 -04:00
Optimize-draining.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Optimize-explosions.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Optimize-getBlockData.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Optimize-Navigation-Listener.patch Add comment to Navigation patch on why its done that way 2016-03-18 17:12:30 -04:00
Optimize-Pathfinding.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Optimize-TileEntity-Ticking.patch Fix chest sound playing at the wrong locaton 2016-03-04 17:38:51 -06:00
Paper-config-files.patch Move config change into config patch 2016-03-18 16:41:26 -05:00
Player-affects-spawning-API.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Player-Exhaustion-Multipliers.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Player-Tab-List-and-Title-APIs.patch Don't pass null title to constructor 2016-03-16 18:58:48 -07:00
POM-Changes.patch set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Prevent-tile-entity-and-entity-crashes.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Process-Entity-Chunk-Registration-on-Teleport.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Re-add-Spigot-s-hopper-check-feature.patch Re-add Spigot's hopper-check feature 2016-03-12 13:41:26 -06:00
Remove-invalid-mob-spawner-tile-entities.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Send-absolute-position-the-first-time-an-entity-is-s.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Show-Paper-in-client-crashes-server-lists-and-Mojang.patch Someone questioned my professionality today 2016-03-16 02:57:49 -05:00
Speedup-BlockPos-by-fixing-inlining.patch Re-add BlocksPos inlining patch 2016-03-07 16:00:29 -06:00
Stop-updating-flowing-block-if-material-has-changed.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Timings-v2.patch Remove checkIfActive timings 2016-03-18 17:11:53 -04:00
Toggle-for-player-interact-limiter.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Undead-horse-leashing.patch Undead horse leashing 2016-03-18 14:20:11 -04:00
Use-UserCache-for-player-heads.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Vanished-players-don-t-have-rights.patch Paper 1.9 2016-02-29 17:09:49 -06:00