В операторах PHP switch
повышает ли производительность более распространенные случаи в верхней части списка?
Например, скажем, следующая функция вызывается 1000 раз:
<?php
function foo_user ($op) {
switch ($op) {
case 'after_update':
//Some Stuff
case 'login':
//Some other Stuff
}
}
Если в 990 из 1000 случаев функция вызывается, то аргумент $ op равен 'login', улучшится ли производительность, если в выражении switch
значение case: 'login'
выше case 'after_update':
? Например, будет ли код после case 'after_update':
игнорироваться, если передано $op = login
?
Я провел несколько неофициальных тестов по этой идее, но разница была незначительной - возможно, потому что код после case: 'login'
и case 'after_update':
оба тривиальны. Я бы предпочел не устанавливать более обширный тест с нетривиальными операциями, если кто-то знает ответ прямо.
Это вопрос Drupal, но я думаю, что его может решить любой, кто знаком с оптимизацией PHP.