手元の lua でやってみた。(3770Kじゃないけど) $ time lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)' 500000000500000000 lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)' 30.09s user 0.02s system 99% cpu 30.207 total $ lua -v Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
Luaって結構聞くけど (スコア:0)
そんなにいいの?
Re: (スコア:0)
例えば、1から1000000000までの合計を求める
このコードが、3770Kでも1秒以下で計算されちゃうとそりゃね。
LuaJITじゃなくて、素のLuaの方ですら8秒とかだもの。
C/C++のようなネイティブはともかく、JavaやGo、すごいよHaskellですら単純計算では相手になりませんわ。
ちな、クソ遅いことで有名なRubyで同じことやってみ?
どう書いても3分とかかかるよwww
Re: (スコア:1)
手元の lua でやってみた。(3770Kじゃないけど)
$ time lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
500000000500000000
lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)' 30.09s user 0.02s system 99% cpu 30.207 total
$ lua -v
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
Re: (スコア:2, 興味深い)
えーそんなに遅くなるのかあと思ってうちの Celeron 1037U 1.8GHzで試してみた。
lua-5.3.1 を MinGW-W64-builds-4.2.0 でビルド後、
$ time lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
500000000500000000
real 0m18.358s
user 0m0.000s
sys 0m0.015s
まあ、こんなもんか。
Re: (スコア:0)
Cygwin上のLuaJITとLuaで確認してみたが何でか結果が違う。
$ luajit -v
LuaJIT 2.0.4 -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/ [luajit.org]
$ time luajit -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
5.0000000006711e+17
real 0m1.982s
user 0m1.513s
sys 0m0.015s
$ lua -v
Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
$ time lua -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
5.0000000006711e+17
real 0m22.038s
user 0m19.312s
sys 0m0.046s
$
Luaは知らんが (1+1e9)/2*1e9 = 5.000000005e17 になると思
Re:Luaって結構聞くけど (スコア:0)
< と > 逆にしてたわ。
1 #include <stdio.h>
2 main()
3 {
4 double x = 0;
5 double i;
6 for (i = 1.0; i <= 1e9; i += 1.0) {
7 x = x + i;
8 }
9 printf("%lf\n", x);
10 }