While digging into the code recently, I found a performance penalty for asymmetric property setters that are not public. In testing, I found that `protected` and `private` setters were roughly 4x slower than their `public` counterparts.
Code speaks louder than words, so I drafted a PR that removes the performance penalty. The Summary talks about the implementation details more in depth and how to verify the performance. The change is +226/-65 LOC, so fairly small. It might be worth trying to put this fix into 8.6 yet. https://github.com/php/php-src/pull/22709 Holly
