Originariamente inviato da k.b
Gia', ma all'atto pratico quanta differenza fa? Difficile dirlo, bisogna ogni volta fare dei benchmark per scoprire che dopo 50k iterazioni tra le due soluzioni c'e' una differenza di 0,012 secondi quando il tempo di risposta di una pagina dipende per la maggior parte da fattori esterni alla pura elaborazione del codice (interazione col db, caricamento di risorse esterne, latenza di rete, etc.). Non dico che le micro-ottimizzazioni non servano a *niente*, dico che:
- e' difficile/impossibile capire a occhio se una cosa e' piu' veloce di un'altra
- prima di passare a queste cose c'e' un grosso elenco di altre ottimizzazioni di livello molto piu' alto che vengono trascurate nella maggior parte degli script (specie quelli che vedi su questo forum)
Poi in genere le regexp vengono scartate come "troppo lente" perche' ormai fa moda dirlo e - mio parere - perche' pochi le conoscono abbastanza bene da capire quanto un pattern sia molto piu' leggibile, versatile e comodo che scrivere degli indici numerici in una substr() (peraltro nel tuo codice alternativo dovrestri chiamare substr 2 volte perche' serve anche l'anno).
In che modo e' invadente? In teoria setlocale() e' una cosa che chiami una volta in un pezzo di codice che includi in tutte le pagine se devi fare un'applicazione localizzata. Mi sembrano piu' invadenti n array con i mesi in varie lingue
Non ho capito...