forked from mirror/Folia
Delay scheduler improvements
It turns out, the scheduler is good enough right now - the main bottlenecks to scaling chunk workers is actually the chunk system locking behavior (mostly schedule lock, but ticket lock is there too)
This commit is contained in:
parent
f9327302d8
commit
147df3c14c
@ -1,5 +1,4 @@
|
||||
Get done before testing:
|
||||
- make scheduler load chunks better
|
||||
|
||||
Pre-Test: List of things not fully tested
|
||||
- Task queue
|
||||
@ -18,6 +17,12 @@ Get done after test:
|
||||
- sync load info
|
||||
- net.minecraft.commands.Commands
|
||||
- are the race conditions in the weather tick (advanceWeatherCycle) ok?
|
||||
- make scheduler load chunks better? this requires additional work to:
|
||||
-> reduce scheduler overhead (i.e at 5000 regions, on 16 threads -> overhead is 10%)
|
||||
-> unsure how to reduce scheduler overhead, may need to rewrite it so that the queues
|
||||
are per tick thread and thus it increases parallelism
|
||||
-> reduce chunk system overhead (i.e at 20 workers, ~100 unique concurrent regions, overhead -> 10-30% on both workers AND tick threads (at tick threads ->8)
|
||||
-> the only way out of the chunk system overhead is to make the scheduling more parallel - it requires scheduling lock and ticket lock
|
||||
|
||||
Delayed and hopefully will not forget:
|
||||
- api for really a lot of shit
|
||||
|
Loading…
Reference in New Issue
Block a user