Steadfast vs PocketMine is not a valid comparison. Steadfast have stripped out 99% of everything that makes for a usable server for performance and their own uses.
Indeed. Steadfast was a remove-any-feature version initially created for lifeboat.
Paste shocking results with resource packs & entity ticking.
resource packs are sendt once on join, maybe increase join settings in the yml (spawnhold etc, less network compression)
entity ticking can't be really critical, because only falling blocks, items and players really move.
I suggest running Timings and changing some settings.
There are no performance issues with the average server not using resource packs. The spike for ResourcePackClientResponsePacket is due to the expensive part of the login sequence (I/O and NBT read) being executed after the resource packs sequence on login is completed, nothing to do with resource packs themselves.
also, if you have 1-2 _seconds_ I/O time on join, you'd better get a new computer... even on my old machine it was 1-2 _milliseconds_. The bulk of the on-join load is due to NBT deserialization, which is extremely slow (see #466).
Also:
(although strangely steadfast uses the old methods, and hacks it to work on new MCPE versions without subchunks...). However chunk utils by dktapps got chunk loading down to the same speed as steadfast, making this not a concern for me.
@thebigsmileXD Not originally, before there new dev team took over steadfast was used just to add current pmmp features and while retaining 1.4 methods.
When MCPE 0.11 came out, lbsg had a major issue with lag because PocketMine 1.5 was very slow. They took a old pocketmine-soft build and backported it to support 0.11. The result: It was just as fast as the 0.10.5 Pocketmine builds, while having all the features of PocketMine 1.5.
All the original commits seen here never intended to strip features (they even wanted to maintain API compatibility with PocketMine, it was never supposed to be a "LBSG server software only" project):
https://github.com/Hydreon/Steadfast2/commits/master/src/pocketmine/Player.php?author=williamtdr
It is only recently the new LBSG team has started to strip things out and add crap like pets into the core. The performance issues with 1.5 have been here for years.
These are some interesting issues:
https://github.com/PocketMine/PocketMine-MP/issues/3104
https://github.com/PocketMine/PocketMine-MP/issues/2567
also, if you have 1-2 seconds I/O time on join, you'd better get a new computer... even on my old machine it was 1-2 milliseconds. The bulk of the on-join load is due to NBT deserialization, which is extremely slow (see #466).
Sadly it takes about 5 seconds on my server, but as mentioned before, i had to play with the spawnhold settings to not lag out everyone when 2 players join at the same time.
If https://github.com/PocketMine/PocketMine-MP/issues/2567 is applying to you, i'd check the memory and caching settings.