unread
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