Расмус жжот

ONK

Пассивист PHPСluba
Try to avoid using include_once and require_once if possible. You are much better off using a straight include or require call, because the *_once() calls are very slow under an opcode cache. Sometimes there is no way around using these calls, but recognize that each one costs you an extra open() syscall and hash look up.
Что-то я не проникся глубиной объяснений по поводу *_once();
Кто-нибудь может подробнее разъяснить, как кэширование опкода может не дружить с сабжем? Есть какие-нибудь конкретные цифры?

-~{}~ 03.03.06 13:16:

Интересно, он действительно использует вот это:
PHP:
// load_list takes a text file and turns it into a global array cached by APC
function load_list($name) {
  global $$name;
  if(!$$name = apc_fetch($name)) {
    $$name = explode("\n",trim(file_get_contents($name.'.txt')));
    apc_store($name,$$name);
  }
}
В реальных проекатах?
 

pachanga

Новичок
Вообще этот пост Расмуса вызвал определенное "движение масс" :) К примеру, здесь.

Основной идеей этого поста, я так понимаю, было то, что стоит использовать те средства, которые есть под руками, не пытаясь придумать очередное колесо.

С некоторыми вещами я несогласен, и мне верится с трудом, что продемонстрированным примером можно пользоваться как руководством для написания сложных приложений, хотя это мое сугубо личное мнение.

-~{}~ 04.03.06 14:47:

Автор оригинала: ONK
Что-то я не проникся глубиной объяснений по поводу *_once();
Кто-нибудь может подробнее разъяснить, как кэширование опкода может не дружить с сабжем? Есть какие-нибудь конкретные цифры?
Есть интересная тема по этому поводу в dev. internal рассылке, начало здесь:

http://www.manucorp.com/archives/internals/200602/msg00003.php

А самая соль здесь:

http://www.manucorp.com/archives/internals/200602/msg00008.php
 
Сверху