Do web pages load faster or load slower when all headers, footers and basic functions are placed in external files and called using the statements below?
Non ci sono problemi di prestazioni. Controlla le metriche in questo blogpost , che sono abbastanza semplice da ricreare da solo. I risultati sono:
------------------------------------
Running for 1000 files: require, require_once, include_once, include
------------------------------------
Results:
faster by og. time
include_once: n/a 0.088193
require_once: + 0.013137 0.101330
require: + 0.030759 0.118952
include: + 0.045299 0.133492
Il benchmark è più orientato al confronto delle funzioni, ma è evidente che i tempi sono estremamente piccoli. Questo altro benchmark mostra:
[11-Jan-2008 11:31:57] Benchmark include 0.039840936660767
[11-Jan-2008 11:31:57] Benchmark require 0.05462384223938
Anche per 1000 file. Quindi a quanto pare, la penalità delle prestazioni è minima. A cuore sia include()
, require()
e i loro equivalenti _once()
sono semplici letture di file system, niente di speciale su di essi che possa suggerire un problema di prestazioni.
Ricorda che se ritieni di essere lento, potresti essere incappato in un bug . Quello a cui mi sono collegato è chiuso, ma non si sa mai. Un buon suggerimento è la prima risposta al bug:
The include process is identical on all Win32 systems, any slowdowns are likely to be related to either the drive speed or the OS internals.
That said one of the reasons you are getting such bad numbers is because you are using a partial path PHP needs to resolve first. This compounded with ZTS mode makes things very slow, change the include statement to use full paths and you'll see much improved performance, not to mention much more consistent numbers.
Non ha fatto alcuna differenza con il bug, ma dovresti sempre averlo in mente, se stai andando per migliaia di include.
Are there any other benefits to separating such content?
Sì, certo. Hai un file per le tue funzioni, uno per la tua intestazione e uno per il tuo piè di pagina, il che significa che non devi riscriverli ogni volta che ne hai bisogno. Non è abbastanza? Non ripeterti .