Au cours de la réalisation d’une application, web ou non, il est vital de programmer de manière à optimier les performance. Malheureusement, dans certains cas il n’est pas toujours possible de la faire, ou pire, un bogue d’implémentation du langage réduit les performances. C’est le cas de la fonction mktime() de PHP 5.2.8 qui est relativement lente à l’exécution.

Prenons le bout de code suivant qui génère un timestamp unix :

$date = '01-02-2009';
$tabDate = explode('-', $date);
$tD = mktime(0 , 0 , 0 , $tabDate[1], $tabDate[0] , $tabDate[2]);

Inclus dans une boucle ces trois lignes peuvent vite devenir un handicap de performance. La solution consiste à utiliser la fonction gmmktime(), beaucoup plus rapide, bien qu’elle utilise mktime() en interne… :

$date = '01-02-2009';
$tabDate = explode('-', $date);
$tD = gmmktime(0-1 , 0 , 0 , $tabDate[1], $tabDate[0] , $tabDate[2]);

Ne pas oublier d’enlever une heure (0-1) car gmmktime() travaille uniquement avec des dates GMT.