API REST

Ce benchmark représente une application de type API REST.
Il contient 500 routes, 15 000 traductions et retourne une serialisation JSON de 100 objets PHP.
Un événement est lancé pour définir la langue aléatoirement et benchmarker le gestionnaire d'événement.
Aucun accès à une base de données n'est effectué, pour ne pas influencer les résultats.

Appel GET
Routes 500 configurées, 1 utilisée (la 1ère). Exemple
Langue Aléatoire entre fr_FR, en_GB et aa_BB (pour utiliser le système de fallback vers la langue en).
Sera définie par un événement lancé avant la sérialisation.
Exemple
Traductions 5 000 configurées par langue (15 000 au total).
100 clefs de traduction seront traduites lors de la sérialisation.
Exemple
Données sérialisées 100 objets : 20 User, 40 Comment et 40 CommentType.
Sérialisation des propriétés : 100 integers, 200 strings et 20 objets \DateTime.
Les objets sont déjà construits, ils ne sont pas récupérés depuis une base de données.
Données sérialisées
Réponse Sérialisation JSON des 100 objets (7 021 caractères). Exemple

PHP

#1 PHP 7.0 timer 0,3 ms
38 579
#2 PHP 7.2 timer 0,3 ms
38 356
#3 PHP 7.3 timer 0,4 ms
37 087
#4 PHP 7.1 timer 0,4 ms
36 725
#5 PHP 5.6 timer 1,4 ms
9 640

Frameworks

#1 Yii 2.0 timer 2,9 ms
9 024
#2 Zend Framework 3.0 timer 4,6 ms
5 938
#3 CakePHP 3.7 timer 14,6 ms
2 172