[過去ログ] Go language part 3 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
792(1): デフォルトの名無しさん [sage] 2020/11/01(日) 11:45:38 ID:b3NlQgn4(1/3) AAS
>>784784(2): デフォルトの名無しさん [sage] 2020/11/01(日) 10:42:25 ID:0aiHjqpe(2/12) AAS
>>782
逆に言えばそれ以外の環境では他言語に劣るわけだろ。
元々は多分、命名からして、コルーチンをgoroutineで、ということなのだと思う。
コルーチンは通常は本体側と交代で間欠的に動作する前提で書かれているから、スレッドで切り離すことはしない。
ただ、もしそれが本体と並行に動作可能なら、スレッドとして切り離せば、
本体側が動いている間に次のyieldまで動作させられ、コルーチン部分の処理時間を見た目ゼロに出来る。
実際、大半のコルーチンはこれが可能なはずで、これまでは単に面倒/スレッド生成消滅のコストの為にそこまでやらなかっただけ。
だから、スレッドよりもっとお手軽で軽いgoroutineを用意すれば、という訳だ。
OSでの並行はprocessだが、multi processは重すぎるのでアプリ内processとしてthreadが出来た。
それと同様に、thread内の並行として、goroutineという、もう一段軽い物を用意した。
だからここまでのストーリーは辻褄が合っているとして、それがどこに適用出来るかだよ。
CPUが精々数個しかないそこら辺のPCだと、threadだけで埋めきれるので、普通にそれが最適解になる。
threadだけでは埋めきれないほどのCPUがあり、積極的に並行goroutineとして切り出してくれないといけない、
という、いわゆるメニーコアならGoの方が有利になる可能性があるけど、実際この場合はキャッシュコヒーレンシの問題が発生してくる。
勿論チャネルだし、後はオブジェクトの中身も含めてインミュータブル、
つまりErlangの世界まで行けたらこの辺の問題も無くなるけど、Goはそういう感じじゃないでしょ。
そもそもメニーコアの筆頭のXeonPiも死に体だし。(これはGoのせいではないけど)
コルーチンを指向していたならchannelなんて使わんだろう。
どっちかというと軽量プロセスの方向性。
799: デフォルトの名無しさん [sage] 2020/11/01(日) 13:43:22 ID:b3NlQgn4(2/3) AAS
>> どっちかというと軽量プロセスの方向性。
>これは俺はそう言ってる。
なんか言っていることがむちゃくちゃ。コルーチンの話はどこ行った?
そもそもchannelはコルーチンじゃ無理だろうて。
822: デフォルトの名無しさん [sage] 2020/11/01(日) 21:50:55 ID:b3NlQgn4(3/3) AAS
>最近のお前らがよく分からんのは、言語べったりで言語と心中しようって奴が多すぎることだ。
なかなかの妄想力
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s