Tips Optimasi Kode PHP
Posted on March 29, 2008
Filed Under PHP
Barusan cek memory VPS memakai perintah top dari putty, menemukan kalau salah satu script php saya makan memory sampai 80% ~X( , padahal script ini cuma 1 file (2 file dengen file config), yang isinya adalah loop untuk menyedot content dari suatu source (source legal loh
). Karena itu langsung buka kode dan googling cari tips untuk optimasi kode php saya. Selidik-selidik ternyata membengkaknya penggunaan memory karena di dalam loop yang saya buat terdapat gumpalan array yang sangat besar, yang seharusnya di -unset(); setiap kali loop. Berikut saya rangkum tips-tips yang dikutip dari berbagai sumber.
- Gunakan koma (,) daripada titik (.) pada saat echo beberapa parameter. contoh: gunakan echo $a, ‘b’, c(), ‘d’; daripada echo $a.’b’.c().’d';
- Gunakan echo daripada print.
- Unset variable jika sudah tidak dipakai, terutama array dan yang memuat banyak data.
- Gunakan full path pada include/require.
- Untuk mengetahui waktu eksekusi, gunakan variable $_SERVER['REQUEST_TIME'] daripada time();
- Regex itu berat, gunakan function lain jika memungkinkan.
- preg_replace() lebih berat daripada str_replace(). str_replace() lebih berat daripada strstr(). Gunakan seefektif mungkin.
- Gunakan switch() daripada beberapa if dan elseif.
- Tutup koneksi database jika sudah tidak diperlukan (mysql_close(); untuk mysql).
- Pada array, gunakan apostrophe (’) pada key array yang berupa string. $item['id'] lebih cepat 7 kali daripada $item[id].
- Hematlah function yang dieksekusi didalam loop. Tidak perlu mengulang proses yang tidak perlu diulang. misal:
daripada
- <?php
- /* setiap kali loop, count() dieksekusi */
- }
- ?>
lebih baik ditulis
- <?php
- for ($x=0; $x < $count_array; $x++){
- /* count() cuma dieksekusi sekali */
- }
- ?>
- Gunakan local variable (variable biasa) untuk fungsi increment. Dibanding local variable, increment untuk global variable 2 kali lebih pelan, dan untuk object ($this->anu++) lebih pelan 3 kali lipat.
- Increment untuk variable yang belum dideklarasi sebelumnya lebih pelan 9-10 kali lipat. Untuk itu daripada langsung menulis $anu++; lebih baik $anu dideklarasi terlebih dahulu menjadi $anu = 0; $anu++;
- Untuk mendeklarasikan string, gunakan apostrophe (’) daripada quote (”). Quote (”) lebih lambat karena php memproses data didalamnya (untuk membaca variable).
- Khusus increment php, ++$i; lebih cepat daripada $i++;
- Gunakan function dan object sebijak mungkin, jangan membuat function kalau akhirnya function cuma digunakan satu kali saja.
- Bunuh register global! Selain memperberat proses, register global sangat tidak aman karena rawan injeksi.
Sekian dulu, nanti kalau ketemu yang lain saya tambahkan.
Sumber:
A HOWTO on Optimizing PHP with tips and methodologies
40 Tips for optimizing your php code
PHP Tips, Apparently
Comments
7 Responses to “Tips Optimasi Kode PHP”
Leave a Reply
hehe… Kaga mudeng kong’s apa itu coding.. jan master coding beneran km kong’s
wahhhh ngkong tukang sedot ya ? kena gigi gratis gak ??? LoL …. saya gak ngerti coding2an sih.
wah enak bisa sedot2, ongkang2 kaki web ngisi sendiri he he he, seandainya saya bisa
weh, ilmu baru ni, tapi masih ora mudeng
Keren sip. Makasih mas share ilmunya. hik code ku ternyata slama ini banyak yg gak episien
coba ah…
ayo kita semangat.., bagi-bagi ilmu