5 Stimmen

Spielt die Reihenfolge der Fälle in PHP-Switch-Anweisungen eine Rolle?

In PHP switch Aussagen: Verbessert die Platzierung häufigerer Fälle an der Spitze die Leistung?

Ein Beispiel: Die folgende Funktion wird 1.000 Mal aufgerufen:

<?php 
function foo_user ($op) {
    switch ($op) {
        case 'after_update':
        //Some Stuff
        case 'login':
        //Some other Stuff
    }
}

Wenn in 990 der 1.000 Aufrufe der Funktion das $op-Argument "login" ist, würde sich die Leistung verbessern, wenn man case: 'login' über case 'after_update': im switch Aussage? Würde zum Beispiel der Code nach case 'after_update': ignoriert werden, wenn $op = login verabschiedet wurde?

Ich habe einige informelle Tests zu dieser Idee durchgeführt, aber der Unterschied war vernachlässigbar - vielleicht weil der Code nach case: 'login' y case 'after_update': sind beide trivial. Ich würde es vorziehen, einen umfangreicheren Test mit nicht-trivialen Operationen zu vermeiden, wenn jemand die Antwort bereits kennt.

Dies ist speziell eine Drupal-Frage, aber ich kann mir vorstellen, dass sie von jedem beantwortet werden kann, der mit der Optimierung von PHP vertraut ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X