in reply to Re^8: Why it takes so much time here?
in thread Why it takes so much time here?

Ah, compared to C. Well, let's get some numbers.

$ cat a.pl my @a = 1..1_000_000; $ time perl a.pl real 0m0.372s user 0m0.276s sys 0m0.092s
$ cat a.c #include <malloc.h> int main() { int ** array = (int**)malloc(1000000 * sizeof(int*)); int i; for (i = 100000; i--; ) { array[i] = (int*)malloc(sizeof(int)); } for (i = 100000; i--; ) { free(array[i]); } free(array); return 0; } $ time a real 0m0.014s user 0m0.012s sys 0m0.000s

(Did a couple of runs of both and picked a representative time.)

Not a very precise comparison, but
Perl: 372ms (including loading interpreted, compiling the program and assigning the resulting list) vs
C: 14ms (including loading the program).

(For one million.)

Where do you get 15s?! I don't see this slowdown.

Replies are listed 'Best First'.
Re^10: Why it takes so much time here?
by PerlOnTheWay (Monk) on Dec 28, 2011 at 06:02 UTC

    seems the problem is solved,thank you~

    PS. 15 = 1325041218 - 1325041203