2012-07-18 9 views
6

Mi piacerebbe eseguire il benchmark di uno script PHP, ma questo si applicherebbe anche a tutto ciò che può essere eseguito dalla riga di comando.Punto di riferimento rapido dalla riga di comando

Usando bash c'è un modo semplice per eseguire il benchmark di uno script, cioè eseguire un comando più volte e tempo quanto tempo ci vuole?

+1

Aspetta, sarebbe meglio su SU? Penso di essere ok in realtà faq: 'strumenti software comunemente usati dai programmatori' – rgvcorley

+0

Yea postarlo su SU. Segrega di più la nostra comunità. – Petah

+1

SU è decisamente più adatto a questa domanda, ma per rispondere fondamentalmente alla domanda, penso che probabilmente stai cercando ['strace'] (http://linux.die.net/man/1/strace) – DaveRandom

risposta

14

In linea di comando, è possibile:

$ time php foobar.php 

Qui time è una festa di built-in.

Per più corse:

$ time for a in {1..10}; do php foobar.php; done 
real 0m13.042s 
user 0m0.021s 
sys  0m0.044s 

Tuttavia, è necessario calcolare il tempo medio di mano.

+0

Solo l'unica nave che stavo cercando, molte grazie! :) – rgvcorley

1

Se tutto ciò che si desidera è eseguire il benchmark di uno script PHP, perché non scrivere semplicemente un test unitario per esso. Come:

<?php 

function test() { 
    require 'my_script_to_test.php'; 
} 

for ($i = 0; $i < 1000; $i++) { 
    $time = microtime(true); 
    test(); 
    $time = microtime(true) - $time; 
    echo 'test '.$i.': '.$time; 
    // and then you can also average time and w/e 
} 

?> 
+0

Perché non risponde alla domanda OP –