As of 1.16.2, this scenario no longer appears to cause lag - there is a very brief drop in framerate while the east-facing piston is in the process of extending, but it goes back to normal afterwards (and does not lag when retracting, nor do any of the other pistons result in any lag at all)
As noted above, campfire smoke no longer causes lag, but Blaze smoke still does.
See the two new screenshots - there are 24 Blazes inside a small glass box, and when I activate the piston which extends to the East, the framerate drops significantly. The other 3 pistons don't have this effect.
My previous test was done in Creative mode, but I just tried my blaze farm in 1.15.2 and it's just as laggy as before.
It looks like this was fixed in Snapshot 19w44a ("Vertically moving particles now perform better when colliding with blocks.") - the above described campfire scenario no longer causes any noticeable lag.
Blaze smoke still causes noticeable lag as of 1.15 Pre-release 1 (framerate drops from 160 fps to 90 fps, though VSync causes it to drop all the way to 40 fps due to the irregular nature of the lag, having many fast frames followed by one slow one), but it's nowhere near as bad as it was in 1.14.4 (240 fps down to 2 fps).
Turns out it wasn't from them suffocating, but from being next to an extended East-facing piston (yes, it's THAT specific), and it happens with campfires too (and possibly any other rising particles) - see MC-158037.
Not sure if this is the same issue described here, but Blazes cause an extreme amount of lag in 1.14.4 when suffocating inside a wall (e.g. by a crusher trap) - 24 blazes cause very little lag by themselves, but once I start crushing them my framerate drops to 1-2fps. Other sources of damage (e.g. water) cause no issues.
On FreeBSD 11.2, CPU usage in 1.14.4-pre6 is now back to the same sort of numbers I was seeing in 1.13.2 - it's slightly higher in parts (e.g. 1-2% versus 0.5-0.7% when empty, or 15-25% versus 15-20% with a single player in the Overworld), but that can probably be attributed to new code in 1.14 that hasn't been fully optimized, and it's far better than the 60-70% I was getting before.
For reference, the machine in question is running in VirtualBox 5.2.30 with 2 cores of a 3.6 GHz Core i7 4790 CPU.
Still occurs in 1.14.4-pre5 on FreeBSD 11.2 - empty server CPU usage is around 75%, and a /debug
profile report just says that it's managing 20tps and that 94.88% of the overall time is being spent inside nextTickWait
.
Sadly, FreeBSD does not appear to have "/proc/PID/timerslack_ns" (and I can't find anything equivalent elsewhere), so I'm stuck without a workaround.
For the record, I've been experiencing this problem in 1.14 thru 1.14.2 with OpenJDK 8u212 on FreeBSD (server consumes around 75% CPU when empty), though strangely I do not see it on Windows using Oracle JRE 8u211 (idle CPU usage quickly drops to zero) when using the exact same map and config.
When I performed the exact same tests with Minecraft 1.13.2, CPU usage dropped to around 1% on both platforms.
Also happens with minecarts on rails when the room (specifically, the chosen exit tile) is 2 and a half blocks tall - if it's only 2 blocks tall, you take suffocation damage but land in the correct tile.
I've just encountered a variant of this in 1.14.2 (but not in 1.14 or 1.14.1) with a minecart that is attached to a rail - when the minecart's chosen exit tile (N/S/NE/SE/NW/SW/E/W) is exactly 2 blocks tall, (i.e. the ceiling is solid), you take suffocation damage and land in the target tile, but if the selected exit tile is 2 and a half blocks tall (i.e. the ceiling is a top-slab), then you clip directly through the floor of the tile the minecart was on without taking any suffocation damage.
This one was quite nasty for me, since I encountered it in my Enderman farm at Y=1 and it spontaneously dropped me into the void.
The problem seems to be that zombie pigmen are spreading their anger even when they can't see you - in 1.13 and earlier, they only spread their hostility toward you when you were within their line of sight, but in 1.14 they keep on growling even when I'm behind a solid brick wall.
It's possible that a single, isolated zombie pigman will eventually forget about you, but if you had multiple ones that can see each other and are prevented from despawning (by having picked up items or by being nametagged), they will keep spreading aggro to each other and will never calm down.
If you're using Optifine, your bug report is invalid - after all, it's possible that Optifine is what's actually causing the problem.
I just ran into this problem after upgrading my dedicated server from 1.16.1 to 1.16.2 - all of my End bees were stuck in their hives. As soon as I stopped and restarted the server, though, they all popped out and started working again.