[過去ログ]
Go language part 3 (1002レス)
Go language part 3 http://mevius.5ch.net/test/read.cgi/tech/1571315884/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
812: デフォルトの名無しさん [sage] 2020/11/01(日) 17:19:00.38 ID:MfA1nG9+ >>807 CPUをまたぐ場合にはOSのサポート、もちょっと違うだろ。 あくまでグリーンスレッドで、ネイティブスレッドじゃねえぞ。 システムコールだったり、アトミックに処理ができるだったりでタスク覗くときにどうなってるよって話じゃねえの? http://mevius.5ch.net/test/read.cgi/tech/1571315884/812
814: デフォルトの名無しさん [sage] 2020/11/01(日) 18:37:50.76 ID:0aiHjqpe >>810 > M:Nで、かつスケジューラがまともな場合、に関しては相当美味しいと言う事が理解できて 俺は別に美味しいとは思ってないぞ。 M:NならOSのスケジューラと大差ない筈だし、 実際ランタイム判断でN:1に出来る状態でもNodeに負けてるだろ。 カッコイイスケジュールをやりきるより、スケジュールなんてしない、の方がシンプルで速いんだよ。 Goは例の「一方ロシアは鉛筆を使った」のアメリカ側をやりきってる感じがある。 とはいえそれもソフトウェア全体の成長の芽の一つだから、やること自体は頑張れ、でしかないが。 > スケジューラのソースはgithubにあるはずだが、読んだ? 読んでねえよ。ただ、読む価値ねえから読まねえよ。遅いスケジューラなんて意味ねえし。 > Netの話はネイティブスレッド つまり普通のスレッドだろ?ならWindowsはスレッドのスタックサイズを指摘出来ることになる。 Linuxでこれが出来ないとも思えないので、goroutineは軽いんです、なんて利点はなくなると思うが。 >>812 そりゃお前が理解出来てないと思うぞ。 上述の通り、スライドでもメッセージをkernelに投げてるだろ。 そこを同一CPU内にディスパッチされた場合にのみN:1専用超軽量ルーチンで処理するよう、 スレッドスイッチの際に全部張り直す、というのもありだが、実際それやってても大して速くないと思うぞ。 そこは本来はプログラミングモデルを明示的に変えないと駄目なんだよ。 同一CPU内でのみ動作するスレッドであれば、スイッチのコストはほぼゼロだから、がんがん切り出して問題ない。 一方、メッセージにkernelを挟む必要があるのなら、それはそれだけでコストがかかるから、何でもかんでも切り出したら余計遅くなる。 だから本来は goroutine のみではなく、 golight とか、N:1スケジュール専用のgoroutineを用意しないと駄目なんだ。 それがなくて全部goroutineで扱うから全体的に遅くなってしまう。それがブログ主がやった事だよ。 ただこれを分離するのは思想的にやりたくないんだろ?ならそこが限界だよ。 http://mevius.5ch.net/test/read.cgi/tech/1571315884/814
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.041s