72 Commits

Author SHA1 Message Date
dependabot-preview[bot]
2f3d2d4a0b
Bump phpstan/phpstan from 0.12.10 to 0.12.11 (#3311) 2020-02-19 18:57:53 +00:00
dependabot-preview[bot]
a860ccd259 Bump phpstan/phpstan from 0.12.9 to 0.12.10
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.12.9 to 0.12.10.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.12.9...0.12.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-13 11:24:13 +00:00
Dylan K. Taylor
0ac5e03ce9 Require PHPStan 0.12.9 minimum 2020-02-06 20:59:43 +00:00
Dylan K. Taylor
6c7dada232 finally, integrate phpstan-strict-rules 2020-02-06 19:44:10 +00:00
Dylan K. Taylor
3a5709bf5e start using phpstan-phpunit
not using extension-installer because I want to part-integrate phpstan-strict-rules later on.
2020-02-06 13:23:18 +00:00
dependabot-preview[bot]
54ccc330d5
Bump irstea/phpunit-shim from 7.5.20 to 8.5.2 (#3296) 2020-02-06 12:50:51 +00:00
dependabot-preview[bot]
8f434b9edd
Bump adhocore/json-comment from 0.0.7 to 0.1.0
Bumps [adhocore/json-comment](https://github.com/adhocore/php-json-comment) from 0.0.7 to 0.1.0.
- [Release notes](https://github.com/adhocore/php-json-comment/releases)
- [Changelog](https://github.com/adhocore/php-json-comment/blob/master/CHANGELOG.md)
- [Commits](https://github.com/adhocore/php-json-comment/compare/v0.0.7...0.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-05 22:40:41 +00:00
Dylan K. Taylor
0f6949ac34 phpstan 0.12.9 2020-02-05 17:11:08 +00:00
Dylan K. Taylor
ff55b520b9 updated composer dependencies 2020-02-01 22:55:27 +00:00
Dylan K. Taylor
b11c350b2b composer: use new pocketmine/log & pocketmine/classloader classes 2020-01-31 15:51:26 +00:00
Dylan K. Taylor
f624e36faf composer: all of these packages are now available on packagist 2020-01-31 15:49:33 +00:00
Dylan K. Taylor
199fa61aef update composer dependencies 2020-01-30 22:41:58 +00:00
Dylan K. Taylor
41d02003c2 Install PHPStan and PHPUnit via dev dependencies 2020-01-27 12:04:42 +00:00
Dylan K. Taylor
73257ffde7 updated pocketmine/spl dependency 2020-01-19 19:50:20 +00:00
Dylan K. Taylor
8f7d8347ee update pocketmine/spl dependency 2020-01-11 22:05:37 +00:00
Dylan K. Taylor
3486db3f1b update RakLib to 0.12.6 2019-12-07 14:20:35 +00:00
Dylan K. Taylor
3968f85c82 sync composer dependencies 2019-12-01 08:54:48 +00:00
Dylan K. Taylor
eda3d9b5e4 sync composer dependencies 2019-10-22 10:13:47 +01:00
Dylan K. Taylor
5a08a10448 update dependency requirements 2019-07-22 17:15:18 +01:00
Dylan K. Taylor
0ac87989dc Update RakLib to 0.12.4 2019-05-02 16:08:03 +01:00
Dylan K. Taylor
2ef3962028 sync RakLib dependency 2019-04-21 13:24:19 +01:00
Dylan K. Taylor
f4480c07ee Updated NBT dependency 2019-03-29 19:47:15 +00:00
Dylan K. Taylor
768cfe3953 Updated composer dependencies 2019-02-07 16:47:16 +00:00
Dylan K. Taylor
5221db1178 Updated BinaryUtils dependency 2019-01-22 17:22:11 +00:00
Dylan K. Taylor
1c2ed0836f Sync composer dependencies 2019-01-15 10:26:33 +00:00
Dylan K. Taylor
4b9a142a5d Import global functions and constants for enhanced performance
This is better for performance because these then don't need to be reevaluated every time they are called.

When encountering an unqualified function or constant reference, PHP will first try to locate a symbol in the current namespace by that name, and then fall back to the global namespace.
This short-circuits the check, which has substantial performance effects in some cases - in particular, ord(), chr() and strlen() show ~1500x faster calls when they are fully qualified.

However, this doesn't mean that PM is getting a massive amount faster. In real world terms, this translates to about 10-15% performance improvement.
But before anyone gets excited, you should know that the CodeOptimizer in the PreProcessor repo has been applying fully-qualified symbol optimizations to Jenkins builds for years, which is one of the reasons why Jenkins builds have better performance than home-built or source installations.
We're choosing to do this for the sake of future SafePHP integration and also to be able to get rid of the buggy CodeOptimizer, so that phar and source are more consistent.
2019-01-04 20:43:15 +00:00
Dylan K. Taylor
ff2e982f22 Updated BinaryUtils dependency 2018-12-30 12:44:08 +00:00
Dylan K. Taylor
6417cff618 Fixed resource packs with comments in manifest
MOJANG, THERE'S NO SUCH THING AS COMMENTS IN STANDARD JSON
2018-12-27 15:50:51 +00:00
Dylan K. Taylor
4763360e9e Update BinaryUtils dependency 2018-12-22 13:07:45 +00:00
Dylan K. Taylor
762405d16a Add daverandom/callback-validator as a dependency 2018-12-04 17:14:37 +00:00
Dylan K. Taylor
f091446ec7 Sync NBT dependency 2018-12-03 16:15:02 +00:00
Dylan K. Taylor
97980d4516 Update composer dependency versions 2018-10-12 09:31:19 +01:00
Dylan K. Taylor
a4a9309193 Updated NBT dependency for bug fix 2018-09-04 11:43:38 +01:00
Dylan K. Taylor
4006be35d9 Update BinaryUtils dependency 2018-08-26 19:15:01 +01:00
Dylan K. Taylor
78eae28a3e Updated dependencies to release versions 2018-06-13 11:17:07 +01:00
Dylan K. Taylor
8a9af7bf2f Update and sync extension dependencies 2018-06-12 16:27:52 +01:00
Dylan K. Taylor
f3a84b332b Updated RakLib and SPL dependencies, allow any 0.3.x SPL 2018-06-09 20:13:27 +01:00
Dylan K. Taylor
37b445f210 Updated Math dependency 2018-06-09 13:05:25 +01:00
Dylan K. Taylor
3ee6bfca2a Updated Math dependency 2018-05-28 14:04:17 +01:00
Dylan K. Taylor
c513d355cb Updated Snooze dependency 2018-05-25 13:52:12 +01:00
Dylan K. Taylor
f4a26ddfd9 update Composer dependencies to get Snooze asserts
warning: there are bugs in this code! this will crash and burn without warning!!!!!
2018-05-20 12:57:23 +01:00
Dylan K. Taylor
753ed3801d update RakLib version 2018-05-09 20:18:36 +01:00
Dylan K. Taylor
2a0a2134d1
Server: Implemented an signal/sleep interrupt mechanism for ticking (#2171)
This allows other threads to notify the main thread to wake it up while it's sleeping between ticks, allowing reduction of processing latency.

Currently only RakLib and the CommandReader threads utilize this, but it's planned to extend it to more things in the near future.

CommandReader is now event-driven instead of poll-based - the server will not poll the CommandReader thread for messages each tick anymore.

RakLib utilizes this mechanism to get packets processed without delays to lower latency.

This now adds an extra dependency - `pocketmine/snooze` library contains the meat of the code used for this. See the Snooze repository for details.
2018-05-09 14:18:13 +01:00
Dylan K. Taylor
554fe4d14d Updated dependencies, require 64-bit PHP in composer.json 2018-04-16 10:19:17 +01:00
Dylan K. Taylor
c276ef2b7f Updated dependency versions 2018-04-13 20:09:18 +01:00
Dylan K. Taylor
476ac39988 update PHP version requirements in composer files 2018-04-09 15:50:55 +01:00
Dylan K. Taylor
99134de6b6 Updated NBT dependency
this needs further changes (particularly to Furnace) to stop things abusing NBT for runtime data handling, otherwise performance is going to drop off a cliff.
2018-04-04 10:29:32 +01:00
Dylan K. Taylor
3d89bf5693 Updated PocketMine Math dependency 2018-03-18 18:08:24 +00:00
Dylan K. Taylor
7f6b8ad7c2 Moved \pocketmine\math to a separate library 2018-03-17 12:45:55 +00:00
Dylan K. Taylor
313b224bec Updated Composer dependency names and repo URLs 2018-03-17 12:19:14 +00:00