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 |