Hace algunos años, intenté este benchmark y, para mi sorpresa, perl devastó a PHP. La diferencia era 10x; a favor de perl.

La prueba consistió en pedirle a perl que escribiera, en un archivo, los números del 0 al 999,999.

Los scripts que utilicé fueron los siguientes:

perl:

#!/bin/perl

use warnings;
use strict

open(my $fh, '>', 'test.pl.txt');

for (my $i = 0; $i < 1000000; $i++) {
    syswrite($fh, "$i\n");
}

close $fh;

PHP:

<?php

$fp = fopen('test.php.txt', 'w');
for ($n= 0; $n < 1000000; $n++) {
    fwrite($fp, "$n\n");
}

fclose($fp);

For the record, utilicé a mi querido Fedora 10; totalmente actualizado. Mi hardware es consultable aquí: http://www.smolts.org/client/show/pub_0b812fdc-5bf2-4fd5-a899-39f2d4539b1d

Para medir el desempeño, usé la utilería time.

El comando fue el siguiente; seguido de su output:

echo -e "\n== Perl Test ==" && time perl test.pl && echo -e "\n== PHP Test ==" && time php test.php

== Perl Test ==

real 0m6.268s user 0m0.937s sys 0m5.312s

== PHP Test ==

real 0m9.167s user 0m3.610s sys 0m5.538s

Admito que, es muy posible, que el código de PHP pueda ser optimizado; al igual que el código de perl. Si tienes sugerencias, te invito a comentarlas. Yo apoyo 100% a PHP!!

A ver, perleanos! Sugiéranme una manera más rápida de hacer esto!

PHPeros! Ayúdenme a mejorar el tiempo de PHP.