On Wed, 20 Jan 2010 13:53:42 +0300 Alexey Pechnikov <pechni...@mobigroup.ru> wrote:
> Hello! > > On Wednesday 20 January 2010 13:15:47 Oleg Tsymaenko wrote: > > Примеры с циклом в 100,000,000 итераций (src ниже): > > -------+----------+-----+--------------------------- > > язык время(s) K компилятор/интерпретатор > > -------+----------+-----+--------------------------- > > C 0.315 1 gcc 4.3.4 (с "-O1" ) > > java 30.520 97 sun-java-1.5.0 (libgcj4.3.4) > > perl 72.149 229 perl (v5.10.1) > > php 71.872 228 php-cli(5.2.11 Zend-2.2.0) > > python 110.251 350 python(2.5.4) > > ruby 177.122 562 ruby(1.8.7) > > > > "K" это отношение времени работы на текущем языке к времени работы на > > "C" Например для perl : K=72.149/0.315=229 > > Достаточно интересно. Дополню: > > $ time tclsh8.6 ./hello.tcl > i=100000000; x=5499999945475522.0 > > real 0m36.908s > user 0m36.854s > sys 0m0.036s > > $ gcc -o1 hello.c -o hello > $ time ./hello > i=100000000; x=5499999945475522.00 > > real 0m0.522s > user 0m0.520s > sys 0m0.000s > > > Итого К=70. > > $ cat hello.tcl > proc test {} { > set x 0 > set i 0 > while {$i<100000000-1} { > set x [expr {$x+1.1*[incr i]}] > } > incr i > puts "i=$i; x=$x" > } > test Ну и до кучи. yu...@keeper:/tmp$ time ./a.out i=100000000; x=5499999945475522.00 real 0m0.297s user 0m0.296s sys 0m0.000s yu...@keeper:/tmp$ time lua t.lua i=100000000; x=5499999945475522.00 real 0m12.239s user 0m12.225s sys 0m0.012s K=41 yu...@keeper:/tmp$ cat t.lua require"string" i = 100000000 x = 0.0 for i = 0, 99999999 do x = x + 1.1*i end print( string.format( "i=%d; x=%.2f", i, x ) ) -- Best Regards, Yuri Kozlov -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org