アカウント名:
パスワード:
そんなにいいの?
例えば、1から1000000000までの合計を求める
luajit -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
このコードが、3770Kでも1秒以下で計算されちゃうとそりゃね。LuaJITじゃなくて、素のLuaの方ですら8秒とかだもの。C/C++のようなネイティブはともかく、JavaやGo、すごいよHaskellですら単純計算では相手になりませんわ。
ちな、クソ遅いことで有名なRubyで同じことやってみ?どう書いても3分とかかかるよwww
ループ処理に浮動小数点演算使う馬鹿の言うことは話半分にしか聞けないな。
luaには整数型がなく、整数もfloatとして書く必要があります。そういう言語なので、 for i=1,1e9 というのは、全く悪い書き方ではありませんよ。
本題から離れますが、Luaは5.3で整数型が追加されました。パフォーマンスの問題だろうか?
Robertoが何を考えて整数型を追加したのかは定かではないけど、64bit整数の範囲をdoubleでは表しきれなかったので、doubleしかないのは用途によっては微妙に不便だったのよね。パフォーマンスの面も含めて、いろんな整数型拡張が作られていた(Luaは仕様もコードも小さい分、拡張するのは簡単)から、公式としてまとめておく必要があると思ったのかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
Luaって結構聞くけど (スコア:0)
そんなにいいの?
Re: (スコア:0)
例えば、1から1000000000までの合計を求める
このコードが、3770Kでも1秒以下で計算されちゃうとそりゃね。
LuaJITじゃなくて、素のLuaの方ですら8秒とかだもの。
C/C++のようなネイティブはともかく、JavaやGo、すごいよHaskellですら単純計算では相手になりませんわ。
ちな、クソ遅いことで有名なRubyで同じことやってみ?
どう書いても3分とかかかるよwww
Re: (スコア:0)
ループ処理に浮動小数点演算使う馬鹿の言うことは話半分にしか聞けないな。
Re: (スコア:2, 参考になる)
luaには整数型がなく、整数もfloatとして書く必要があります。
そういう言語なので、 for i=1,1e9 というのは、全く悪い書き方ではありませんよ。
Re: (スコア:1)
本題から離れますが、Luaは5.3で整数型が追加されました。
パフォーマンスの問題だろうか?
Re:Luaって結構聞くけど (スコア:1)
Robertoが何を考えて整数型を追加したのかは定かではないけど、64bit整数の範囲をdoubleでは表しきれなかったので、doubleしかないのは用途によっては微妙に不便だったのよね。パフォーマンスの面も含めて、いろんな整数型拡張が作られていた(Luaは仕様もコードも小さい分、拡張するのは簡単)から、公式としてまとめておく必要があると思ったのかな。