performance

  • Xdebug 3 renamed every setting you knew

    Xdebug 3 replaced half a dozen independent toggles with one mode setting, and most documentation still describes the 2.x names. The port change from 9000 to 9003 is…

  • Asserting a query count with a loose bound

    A test asserting an exact query count fails on every unrelated change and is deleted within a month; a bound survives. The fixture size is the part that…

  • Union types, promotion, and match

    8.0 shipped in November with three changes that alter how a class is written, and a fourth that quietly breaks string-to-number comparison.

  • opcache.jit_buffer_size, and the setting that turns it off

    The JIT is configured through two settings whose interaction is not obvious, and the most common outcome of enabling it is that it is not enabled. A buffer…

  • Weak maps do not exist yet; spl_object_id and a sweep

    A registry keyed by object identity keeps every object it has ever seen alive, so a long-running worker grows in memory with the number of distinct objects it…

  • The JIT helps a benchmark and not a web request

    The JIT is the headline of 8.0 and is close to irrelevant for a typical web application, which is worth saying before somebody spends a week on it.…

  • The JIT is on and your web request is unchanged

    The JIT is the headline of 8.0 and it is close to irrelevant for a typical web application, which is worth saying before somebody spends a week on…

  • Allocation in a loop, and the profiler that shows it

    A CPU profile shows where time is spent and not why, and a loop constructing an object per iteration frequently spends its time in the allocator rather than…

  • React 17 is a release with no features

    A major version whose entire purpose is to let two versions run on one page. And an event delegation change that breaks anything mixing React with jQuery.

  • The on-call rotation for a team of four

    One person had the phone for two years. A rotation of four is a week in four, which is enough to be tiring and not enough to build…