Pour un éventuel futur projet, j'ai eu envi de comparer les performances entre php et ruby dans le cadre d'une utilisation pour le web.
Au lieu d'utiliser un framework php pour le comparer à rails de façon à prouver que le ruby est plus performant, j'ai utilisé des scripts simples qui affichent l'heure.
Le test n'est pas effectué dans de très bonnes conditions où tout est réglé au millimètre près (il y a même boinc qui tourne en tâche de fond), mais il permet quand même de se donner un ordre d'idée.
Php est géré par mod_php dans apache, sans réglages particuliers, et le ruby est géré par fastcgi et lighttpd sans réglages particuliers non plus.
Le code du fichier php est:
<?php echo date(DATE_RFC822); ?>
Le code du fichier ruby en fastcgi est:
#!/usr/bin/env ruby
require "fcgi"
FCGI.each do |request|
out = request.out
out.print "Content-Type: text/plain\r\n"
out.print "\r\n"
out.print Time.now.to_s
request.finish
end
C'est un exemple de la gem fcgi.
Voici les résultats:
PHP (mod_php): Requests per second:
2234.04
Ruby (fastcgi): Requests per second:
152.55
Fichier statique (pour comparer): Requests
per second: 4390.15
Bon, c'est assez simple à comparer. Ce qui fait remarquer que rails est vraiment performant par rapport aux frameworks php. Les performances de rails ne sont pas beaucoup plus basses qu'un fichier ruby tout simple, alors que les performances de php chutent énormément lorsque l'on utilise un framework.