- echo fonksiyonu print‘den daha hızlıdır (alıntı)
- Eğer sadece bir string çıktısı verecekseniz tek tırnak kullanın. Çünkü çift tırnak kullandığınızda derleyici öncelikle içinde değişken ya da özel karakter arayacaktır (alıntı)
- Değişkenleri yazdırmak için tırnaklarla ayırmak yerine sprintf() kullanın, 10 kat kadar daha hızlıdır (alıntı)
- Sıralanmış string yerine birden fazla parametreli echo kullanın (alıntı)
- Döngü kontrolü içinde fonksiyon kullanmaktan kaçının. Çünkü döngü her bir iterasyonda o fonksiyonu çalıştırıp zaman kaybedecektir (alıntı)Yanlış örnek:
for ($i = 0; $i < count($array); $i++) { //stuff }
Doğru örnek:
$count = count($array); for($i = 0; $i < $count; $i++) { //stuff }
- Büyük veri setlerini tuttuğunuz değişkenleri kullandıktan sonra bellekte yer açmak için unset() edin ya da null’a eşitleyin (alıntı)
- __get, __set, __autoload gibi bazı sihirli metotları gerekmedikçe kullanmaktan kaçının (alıntı)
- Mümkün olduğu sürece require_once() yerine require() kullanın (alıntı)
- include() ve require() fonksiyonları ile beraber full path (tam dosya yolu) kullanın ki derleyici doğru yolu bulmak için zaman kaybetmesin (alıntı)
- str_replace() fonksiyonu preg_replace()‘den daha hızlıdır. Ama bazı büyük veri setlerinde strtr() daha iyi sonuç verebilir
- ‘else if‘ yapısı switch-case yapısından daha hızlıdır (alıntı)
- @ ile hata gösterimi engelleme çok yavaştır (alıntı)
- Bandwidth kullanımını düşürmek için Apache v2’de mod_deflate‘i açın (alıntı) ya da Apache v1 için mod_gzip‘i deneyin (alıntı)
- İşiniz bittiğinde veritabanı bağlantınızı kapatın (alıntı)
- $row[‘id’] şeklinde kullanım, $row[id] kullanımından 7 kat daha hızlıdır. Çünkü ikinci kullanımda derleyici sabit kontrolü de yapacaktır (alıntı)
- Short open tag (< ? ) yerine standart tagı < ?php … ? > kullanın (alıntı)
- PHP script’leri cache’lenmedikleri sürece her çalıştırdıklarında tekrar derlenirler. Performansı artttırmak için PHP cacheleme ürünleri kullanın (APC, eAccelerator, Turck MMCache vb.)
- strlen() yerine isset() kullanın.Kötü örnek:
if (strlen($foo) < 5) { echo "Foo is too short"; }
İyi örnek:
if (!isset($foo[5])) { echo "Foo is too short"; }
(alıntı)
- Eğer yerli bir PHP fonksiyonu varsa kendi fonksiyonunuzu yazmak yerine onu kullanın, çünkü o daha hızlıdır. Eğer fazla kaynak tüketen bir fonksiyon ise C eklentisi ya da modül yazın (alıntı)
- Xdebug debugger gibi profiler kullanın. Böylece kodunuzun hangi kısımları ne kadar zaman alıyor, ne kadar kaynak tüketiyor takip edebilirsiniz (alıntı)
- Kodunuzla ilgili döküman yazın (alıntı)
- İyi kod ile kötü kod arasındaki farkı öğrenin (alıntı)
- Kod standartları kullanmak hem sizin başkalarının kodlarını anlamınızı hem de başkalarının sizin kodunuzu anlamalarını kolaylaştırır (alıntı)
- Yerel bir değişkeni arttırmak, sınıf içindeki bir özelliği arttırmaktan (örn. $this->prop++) 3 kat daha hızlıdır (alıntı)
- Her şey nesne olmak zorunda değildir. Gerekmiyorsa kullanmayın (alıntı)
Kaynak: http://www.hm2k.com/posts/50-php-optimisation-tips-revisited