Podstawy optymalizacji skryptu – testowanie szybkości funkcji

Poprzedni wpis o odczytywaniu XML przypomniał mi o artykule, który czytałem gdzieś na blogu odnośnie testowania szybkości wykonywania się funkcji. Metoda jest prosta. Na początku skryptu zapisujemy do zmiennej czas uruchomienia strony funkcją microtime();, której argumentem będzie wartość boolean – true – zaokrąglająca wynik. Następnie skrypt jest wykonywany w pętli kilka tysięcy razy i za pętlą wyświetlana jest różnica w czasie.

Przykładowo wyglądający kod do badania szybkości funkcji

$start = microtime(true);
for($i=0;$i<=9999;$i++){
	$xml = simplexml_load_file('waluty.xml');
	foreach($xml->kraj as $kraj) {
		echo '<div style="display: none;"><b>'.$kraj->panstwo.'</b><br/>'.$kraj->kurs.' '.$kraj->waluta.' dnia: '.$kraj->notowanie.'<br/></div>';
	}
}
 
echo 'Czas '.(microtime(true)-$start);

Skrypt zwróci czas w sekundach potrzebny na wykonanie polecenia. Tym sposobem zbadałem dwie funkcje, które były wykorzystywane do wspomnianego wpisu simplexml_load_string(); oraz simplexml_load_file();. Z wyników wynika, że pierwsza funkcja (simplexml_load_string) jest szybsza o średnio 0.17 sekundy.