I’m removing the FatMM patches I made available a while back from my blog until I can re-visit this optimization.  I recently noticed that I wasn’t getting the original performance gains I measured with this optimization patch.  (For those not familiar, the FatMM patch is a patch against PHP that performs a simplified memory management model where we allocate a larger memory structure at start and don’t both with freeing memory until the request is completed.)

With the help a user, Ricardo Bartolomé Méndez, we recently verified that this is in most cases fixing regressions in other memory performance such as debug builds or Suhosin patches.  (An embarrassing mistake on my part to be sure, but I didn’t want to remove this until I could get confirmation refuting what reports I had received previously.  The lesson here is to make sure you make your measurments carefully, it’s easy to mis-configure when you have multiple builds lying around).  So I until I can revisit this technique, I don’t want anyone else spending time on something that may be misleading in the end.  If I can come up with a better improvement, be sure I’ll post it again, and if you’re currently using this patch please verify that it’s not just correcting a previous regression from other patches or configurations.