Folia/patches/server
Spottedleaf 1128810029 Always recalculate light list on protochunk deserialize
I noticed during my stress testing that the total size of the
light list was far too large, which indicates many duplicates.
For me, this caused many GC problems which made stress testing
harder.

It turns out, it was possible for the light list recalculation
logic to occur _and_ the addition of the light list data from
the NBT data. Since there is no logic to de-duplicate this list,
every chunk load would re-add all light sources into the light
list and the light list would grow uncontrollably.

Since the recalculation logic would often run, I have
decided to solve this by discarding the data on disk and always
just calculating the list from the chunk data alone. Additionally,
I have applied an optimization from Vanilla 1.20 to avoid
searching sections without light sources by first checking the
palette for possible block sources.

Now my stress tests do not have issues with GC at all.
2023-05-15 20:37:29 -07:00
..
0001-Build-changes.patch fix: fix build number check in version fetcher (#16) 2023-03-30 14:13:55 -07:00
0002-MC-Dev-fixes.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0003-New-player-chunk-loader-system.patch Add more debugging information to chunk sending 2023-04-17 15:37:16 -07:00
0004-Make-ChunkStatus.EMPTY-not-rely-on-the-main-thread-f.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0005-Threaded-Regions.patch Add more debugging information to chunk sending 2023-04-17 15:37:16 -07:00
0006-Increase-parallelism-for-neighbour-writing-chunk-sta.patch Rework some parts of the player chunk loader 2023-04-10 17:51:21 -07:00
0007-Cache-whether-region-files-do-not-exist.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0008-Max-pending-logins.patch Make uses of SimpleDateFormat thread-safe 2023-04-03 18:41:09 -07:00
0009-Add-chunk-system-throughput-counters-to-tps.patch Add entity/player/chunk counters to /tps 2023-04-08 18:44:37 -07:00
0010-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch Adjust CB async teleport dismount behavior 2023-04-08 19:16:10 -07:00
0011-Disable-mid-tick-task-execution.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0012-Throw-UnsupportedOperationException-for-broken-APIs.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0013-Fix-tests-by-removing-them.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0014-Work-around-https-github.com-PaperMC-paperweight-iss.patch Make sign update executor use the EntityScheduler 2023-04-01 07:24:36 -07:00
0015-Require-plugins-to-be-explicitly-marked-as-Folia-sup.patch Do not call getGameTime when portalling Villagers 2023-03-31 20:48:20 -07:00
0016-Acquire-scheduling-lock-in-NewChunkHolder-onFullChun.patch Acquire scheduling lock in NewChunkHolder#onFullChunkLoadChange 2023-04-01 00:53:27 -07:00
0017-Fix-destroying-beehive-without-any-players-nearby-th.patch Fix destroying beehive without any players nearby throwing an exception 2023-04-03 21:26:16 -07:00
0018-Lag-compensate-block-breaking.patch Lag compensate block breaking 2023-04-10 14:16:16 -07:00
0019-Prevent-block-updates-in-non-loaded-or-non-owned-chu.patch Prevent block updates in non-loaded or non-owned chunks 2023-04-17 19:51:21 -07:00
0020-Block-reading-in-world-tile-entities-on-worldgen-thr.patch Block reading in-world tile entities on worldgen threads 2023-04-23 07:50:42 -07:00
0021-Skip-worldstate-access-when-waking-players-up-during.patch Skip worldstate access when waking players up during data deserialization 2023-04-23 07:50:43 -07:00
0022-Break-redstone-on-top-of-trap-doors-early.patch Break redstone on top of trap doors early 2023-05-01 18:28:54 -07:00
0023-Do-not-access-POI-data-for-lodestone-compass.patch Do not access POI data for lodestone compass 2023-05-13 17:30:55 -07:00
0024-Undo-making-JavaPlugin-logger-field-public.patch Undo making JavaPlugin#logger field public (see PaperMC/Paper#9125) (#76) 2023-05-14 18:10:49 -07:00
0025-Use-coordinate-based-locking-to-increase-chunk-syste.patch Use coordinate-based locking to increase chunk system parallelism 2023-05-14 19:46:24 -07:00
0026-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch Fix concurrenct access to lookups field in RegistryOps 2023-05-15 00:26:56 -07:00
0027-Synchronize-PaperPermissionManager.patch Synchronize PaperPermissionManager 2023-05-15 11:00:49 -07:00
0028-Mark-POI-Entity-load-tasks-as-completed-before-relea.patch Mark POI/Entity load tasks as completed before releasing scheduling lock 2023-05-15 11:42:31 -07:00
0029-Properly-cancel-chunk-load-tasks-that-were-not-sched.patch Properly cancel chunk load tasks that were not scheduled 2023-05-15 12:27:19 -07:00
0030-Optimise-recalcBlockCounts-for-empty-sections.patch Optimise recalcBlockCounts() for empty sections 2023-05-15 20:30:16 -07:00
0031-Always-recalculate-light-list-on-protochunk-deserial.patch Always recalculate light list on protochunk deserialize 2023-05-15 20:37:29 -07:00