Я немного опоздал на этот разговор, но, только найдя вопрос, который я решил, я бы выбросил свои мысли на ринг для моего первого поста на SO.
В качестве быстрого эксперимента (после прочтения статьи, связанной с zolex), я добавил третий контрольный пример к тестам статьи:
$inst = TestSingleton::getInstance();
for($i=0;$i<$runs;$i++) $inst->test();
Конечно, результаты не были согласованы на 100%, но я обнаружил, что в большинстве случаев при выполнении 500 000 вызовов через все три метода вышеуказанный метод выполнялся где-то на 2-3 секунды быстрее, чем любой из двух других.
Хотя я всегда съеживаюсь, когда вижу приведенную цитату «преждевременной оптимизации», в этом случае я думаю, что она бьет по голове. Разница в производительности в лучшем случае минимальна, и обычно в пользу более разумного использования синглтона.