zur frage der performance von system und exec ein pfusch-benchmark:
zum testen von exec:
Code:
for ( $i=0; $i<=2500; $i++ )
{
open( FOO, "-|" ) || exec "./testprog";
close FOO;
}
liefert zurück:
Code:
real 0m20.091s
user 0m8.680s
sys 0m11.220s
für system:
Code:
for ( $i=0; $i<=2500; $i++ )
{
system "./testprog";
}
liefert
Code:
real 0m18.540s
user 0m7.880s
sys 0m9.910s
und als kleine Anmerkung: NIEMALS folgendes machen:
Code:
for ( $i=0; $i<=2500; $i++ )
{
open( FOO, "-|" ) || system "./testprog";
close FOO;
}
weil dann startet das skript 2500 fork'ed testprog's, allerdings ohne fork extra aufzurufen. naja, so ganz hab ichs nicht kapiert, jedenfalls ist es sehr wahrscheinlich, dass der rechner dabei eingeht
Lesezeichen