include
, örneğin, dosyaların içeriğini değerlendirecek yana PHP tercüman aracılığıyla çalıştırılır ve ayrıca dosyaları bulmak için include_path kullanın, ben include
daha yavaş olduğunu söyleyebilirim. file_get_contents
sadece dize olarak bir dosyanın içeriğini tedavi edecek. Daha az yük, daha fazla hız.
Kimden manual page:
file_get_contents () bir dizeye bir dosyanın içeriğini okumak için tercih edilen yoldur. Performansını artırmak için işletim sistemi tarafından destekleniyorsa bellek haritalama teknikleri kullanacağız.
Ancak, bunun yerine bir dize içine alma, dosya çıktısı sonra ise, readfile()
is even a tiny bit faster than file_get_contents
. Sanırım sonra include
'de çıktısı olmayan herhangi bir PHP içerik ing, bu büyük olasılıkla daha büyük olasılıkla ne olduğu göz önüne alındığında.
Masaüstü makinede Revize kriter:
$start1 = microtime(1);
for($i=0; $i<100000; $i++) {
include 'log.txt';
}
$end1 = microtime(1) - $start1;
ve
$start2 = microtime(1);
for($i=0; $i<100000; $i++) {
echo file_get_contents('log.txt');
}
$end2 = microtime(1) - $start2;
ve
$start3 = microtime(1);
for($i=0; $i<100000; $i++) {
readfile('log.txt');
}
$end3 = microtime(1) - $start3;
Sonuç
echo PHP_EOL, $end1, // 137.577358961
PHP_EOL, $end2, // 136.229552984
PHP_EOL, $end3; // 136.849179029