[過去ログ] Go language part 1 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
486: デフォルトの名無しさん [sage] 2016/01/25(月) 00:44:23.45 ID:MxjMVzG6(1/3) AAS
Goで素数判定をエラトステネスのふるいにして書いてみたけどrubyのprimeライブラリより遅かった
Goってあんまり速くないの?教えてエロい人
488: デフォルトの名無しさん [sage] 2016/01/25(月) 01:16:17.48 ID:MxjMVzG6(2/3) AAS
>>487
487(1): デフォルトの名無しさん [sage] 2016/01/25(月) 00:54:54.11 ID:11Jcfjfr(1/4) AAS
Go のバージョンと実際に書かれたコードが分からんので何とも言えない
バージョンは1.5
コードは俺のが遅いのかまともに書いてる人のでも遅いのかが気になってるだけだから載せるまでもないかなと思ってる
490: デフォルトの名無しさん [sage] 2016/01/25(月) 02:28:15.33 ID:MxjMVzG6(3/3) AAS
>>489
489(1): デフォルトの名無しさん [sage] 2016/01/25(月) 01:48:00.41 ID:11Jcfjfr(2/4) AAS
$ ruby --version
ruby 2.2.3p173 (2015-08-18) [i386-linux-gnu]
$ time { ruby -e 'require "prime";print Prime.take(10000)' > /dev/null; }
real 0m0.405s
user 0m0.400s
sys 0m0.008s

↓このコードをローカルにコピーして、

外部リンク:play.golang.org

const N = 104740 に変更してビルド・実行。

$ go version
go version devel +4f40182 Sat Jan 23 01:28:06 2016 +0000 linux/386
$ go build prime.go
$ time { ./prime > /dev/null; }
real 0m0.064s
user 0m0.048s
sys 0m0.016s
thx
それぐらいの桁数だと自分の環境でもgoのコードのが速いんだけど、桁数増えると圧倒的に負けるようになる
というかgoが時間かかりすぎる
104700000が素数かどうかの判定の時点ですでに負けてる
$ go version
go version go1.5.1 darwin/amd64
$ time ./prime
(結果略)
0.38s user 0.01s system 98% cpu 0.395 total

$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
$ time tuby -e 'require "prime"; p 104700000.prime?'
(結果略)
0.13s user 0.09s system 86% cpu 0.254 total

goコード: 外部リンク:play.golang.org
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s