Dylan K. Taylor
cdf7e28251
shut up PhpStorm
2018-11-17 18:12:48 +00:00
Dylan K. Taylor
a02f422d85
SubChunk: Fixed constant redefinition on worker threads when autoloading
...
this happens when workers inherit constants but not classes.
2018-11-17 16:29:53 +00:00
Dylan T
f8bfbc107d
Reduce chunk memory usage by 20-60% by exploiting PHP copy-on-write behaviour ( #2527 )
...
This takes advantage of two key behaviours of PHP:
1. Assigning a string does not copy the string
2. Changing an offset in a string causes the string to be copied.
These two factors combined, along with the fact that blocklight and skylight arrays are usually all-zeros, allow us to produce a significant memory usage reduction of loaded chunks.
A freshly generated PM world with 3,332 chunks loaded drops from 310MB to 200MB memory usage with these changes applied.
2018-11-17 14:46:05 +00:00
Dylan K. Taylor
554c029fbd
Merge branch 'release/3.3' into release/3.4
2018-11-13 18:24:08 +00:00
Dylan K. Taylor
e018311e73
Make start script errors a bit more noob-friendly
2018-11-13 18:23:54 +00:00
Dylan K. Taylor
de50f02076
Merge branch 'release/3.3' into release/3.4
2018-11-12 22:07:22 +00:00
Dylan K. Taylor
71d02e5870
Improve dev build error messages
2018-11-12 22:07:14 +00:00
Dylan K. Taylor
46d9475568
Use Utils::getNiceClosureName() in PluginManager
2018-11-11 19:50:07 +00:00
Dylan K. Taylor
788b278fc3
Utils: fixed handling of non-anonymous closure functions
2018-11-11 19:43:00 +00:00
Dylan K. Taylor
2e4143f57e
Merge branch 'release/3.3' into release/3.4
2018-11-11 12:38:53 +00:00
Dylan K. Taylor
d312aef1ac
3.3.3 is next
2018-11-11 11:58:51 +00:00
Dylan K. Taylor
200de3fe84
Release 3.3.2
3.3.2
2018-11-11 11:58:25 +00:00
Dylan K. Taylor
f560a6efea
Merge tag '3.2.7' into release/3.3
2018-11-11 11:24:23 +00:00
Dylan K. Taylor
7ecd7fd13f
Release 3.2.7
3.2.7
2018-11-11 11:23:20 +00:00
Dylan K. Taylor
5284ad0346
Merge branch 'release/3.3' into release/3.4
2018-11-11 11:15:46 +00:00
Dylan K. Taylor
b893645a81
Merge branch 'release/3.2' into release/3.3
2018-11-11 11:15:39 +00:00
Dylan K. Taylor
b19b3134ad
PluginManager: reduce unnecessary indentation
2018-11-11 11:15:27 +00:00
Dylan K. Taylor
7cf36f460b
Merge branch 'release/3.3' into release/3.4
2018-11-10 22:37:08 +00:00
Dylan K. Taylor
243f86b0a0
Merge branch 'release/3.2' into release/3.3
2018-11-10 22:37:02 +00:00
Dylan K. Taylor
9156cbc269
PluginManager: Make registerEvents() check order more logical
...
Prioritize validating that the function is actually a handler, before trying to parse its doc comment.
2018-11-10 22:36:46 +00:00
Dylan K. Taylor
a5f776af2f
Merge branch 'release/3.3' into release/3.4
2018-11-07 22:11:13 +00:00
Dylan K. Taylor
43fe6a1934
Merge branch 'release/3.2' into release/3.3
2018-11-07 20:02:28 +00:00
Dylan K. Taylor
342a74ffcb
Level: Collect garbage from chunk internals in doChunkGarbageCollection()
2018-11-07 20:01:07 +00:00
Dylan K. Taylor
3d2701e775
Merge branch 'release/3.3' into release/3.4
2018-11-04 23:32:56 +00:00
Dylan K. Taylor
2183bf875c
Merge remote-tracking branch 'origin/release/3.2' into release/3.3
2018-11-04 23:32:33 +00:00
Dylan T
8cc2a4ce5d
Remove start script support for source-code installations ( #2495 )
...
This was suggested recently by @TheDeibo. We don't want users running source-code installations unless they are developers, and developers should know how to boot a source-code installation anyway.
2018-11-04 23:31:57 +00:00
Dylan K. Taylor
e26af3fa1b
TaskScheduler: don't catch unexpected exceptions
...
this means that errors in scheduled tasks which are uncaught will now cause a server crash.
2018-11-04 23:22:30 +00:00
Dylan K. Taylor
1634dd62e3
Don't catch unexpected exceptions during command execution
2018-11-04 23:11:51 +00:00
Dylan T
755db3dac8
Added a ClosureTask implementation for easier task scheduling ( #2497 )
2018-11-04 22:55:40 +00:00
Dylan K. Taylor
3dabf90b0e
Merge branch 'release/3.3' into release/3.4
2018-11-04 22:38:58 +00:00
Dylan K. Taylor
f61e14e341
Merge branch 'release/3.2' into release/3.3
2018-11-04 22:38:45 +00:00
Dylan K. Taylor
7b24fbc8db
Utils: fix a mistake in getNiceClassName() doc
2018-11-04 22:38:38 +00:00
Dylan K. Taylor
0543c17849
Merge branch 'release/3.3' into release/3.4
2018-11-04 22:15:46 +00:00
Dylan K. Taylor
c4f3426bae
Merge branch 'release/3.2' into release/3.3
2018-11-04 22:15:21 +00:00
Dylan K. Taylor
046c39b02e
Remove some Throwable abuse in AsyncTasks
2018-11-04 22:15:06 +00:00
Dylan K. Taylor
87b471ce0f
AsyncPool: reverse e0d5c79848335ae9335686fd896e593324f2b191, don't catch unexpected exceptions thrown by onCompletion()
...
this should never throw an uncaught exception, and if it does it indicates broken code.
2018-11-04 22:09:30 +00:00
Dylan K. Taylor
055ba6aa7c
Merge branch 'release/3.3' into release/3.4
2018-11-04 11:57:35 +00:00
Dylan K. Taylor
5c3eed40b3
Merge branch 'release/3.2' into release/3.3
2018-11-04 11:57:28 +00:00
Dylan K. Taylor
3e5237b6e0
ItemEntity: remove useless instanceof
2018-11-04 11:57:22 +00:00
Dylan K. Taylor
af1227f154
Merge branch 'release/3.3' into release/3.4
2018-11-03 19:43:54 +00:00
Dylan K. Taylor
d9a867016c
Merge branch 'release/3.2' into release/3.3
2018-11-03 19:43:45 +00:00
Dylan K. Taylor
a50a863ab7
Chunk: be more intelligent about fast-serializing chunks
...
This reduces the amount of useless data that pthreads has to copy around.
2018-11-03 19:43:35 +00:00
Dylan K. Taylor
9caf62778c
AsyncTask: remove $serialize parameter from setResult()
...
Whether serialization is necessary can be determined automatically based on the type of variable.
2018-11-03 16:56:24 +00:00
Dylan K. Taylor
d257d36e55
Merge branch 'release/3.3' into release/3.4
2018-11-03 15:14:27 +00:00
Dylan K. Taylor
1b03168b88
Merge branch 'release/3.2' into release/3.3
2018-11-03 15:12:40 +00:00
Dylan K. Taylor
6b9fee05d6
Fixed performance bug with chunk sending
...
this process of fast-serialization, fast-deserialize, network-serialize is an order of magnitude slower than just doing the network encode directly on the main thread, and also copies more useless data.
For the main thread, the figures were something like 3x more expensive, and then an extra 7x for deserialization on the worker thread. This is a ridiculously large overhead.
2018-11-03 15:12:30 +00:00
Dylan K. Taylor
44d8a5528e
Merge branch 'release/3.3' into release/3.4
2018-11-03 12:12:42 +00:00
Dylan K. Taylor
45a18ffe1e
Merge branch 'release/3.2' into release/3.3
2018-11-03 12:12:23 +00:00
Dylan K. Taylor
f0182c9996
TaskHandler: remove incorrect internal warning
...
this is perfectly fine to use, and preferable to getting a cyclic ref to the scheduler. TaskScheduler->cancelTask() does pretty much the exact same thing, and the scheduler internals are designed to deal with this anyway.
2018-11-03 12:12:02 +00:00
Dylan K. Taylor
265b61b3e6
Merge branch 'release/3.3' into release/3.4
2018-10-31 18:55:26 +00:00