The upgrade is usually measured in request latency. The larger operational change is memory: PHP 7 rewrote the internal value representation, and arrays in particular use a fraction…
Objects cannot be array keys, so checking whether an object is already in a collection usually turns into in_array($obj, $list, true) — a linear scan that gets slower…
Each instruction produces a layer, and a layer is reused only if every instruction before it is unchanged. Copying the whole application before installing dependencies invalidates the dependency…
Two days lost to PHP extension mismatches. A container per service, what the shared-folder performance problem costs on a VM, and whether it was worth it.
setTimeout(fn, 16) approximates 60fps and is wrong in both directions: it keeps firing in a background tab, burning battery on frames nobody sees, and it drifts out of…
A profile answers “which functions consumed the time” precisely and says nothing about the reason. The most common finding is that the top entry is PDOStatement::execute, which is…
Five filters over 30,000 variations, and a request that never returns. Replacing EAV meta joins with a denormalised index table kept in sync by product hooks.