- 1 名前:デフォルトの名無しさん mailto:sage [2021/04/24(土) 08:04:49.48 ID:nPKzA798.net]
- 競え
- 997 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 09:51:08.61 ID:d0IcrcAD.net]
- そうなんだ、よかったね
- 998 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 10:41:09.99 ID:BJ+zdFAP.net]
- そうなんだ、よかったねで済む話を700レスも続けたスレだった
- 999 名前:デフォルトの名無しさん [2021/12/13(月) 10:55:12.57 ID:zBnuOauJ.net]
- ガイジ隔離できるから次スレ建てろ
- 1000 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 23:41:21.78 ID:hDz7sFQ7.net]
- >>758
言ってることは全く正しいけど promise/futureの存在によってasync/awaitが成立していることをもっと強調すべきかな このまえGoスレでそれすら理解できないやつが延々と暴れていた さらに「async/awaitがあればpromise/futureは不要!」とまで主張して暴れていた 非同期プログラミングをかじっただけの人にありがちなのかもしれない 例えば「複数のpromise/futureに対して任意の一つが解決されたら」とか「解決順に」とかawaitだけでは表現不可能なのにな
- 1001 名前:デフォルトの名無しさん [2021/12/14(火) 01:57:04.15 ID:oL+i1N1M.net]
- あわしろ氏はガイジじゃないぞ。
- 1002 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 09:28:14.72 ID:56UTyKQA.net]
- そうなんだ、よかったね
- 1003 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 09:42:41.73 ID:Lt4mRhb2.net]
- golangにasync/awaitなんて無いし、promise/futureもchannel通信で作れば作れるけどそんな事しないし
むしろ暴れてるのはお前だろ、思想的に必要無い言語にそれを持ち込んで優位性を語るなんてアホちゃうか?
- 1004 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 10:15:19.20 ID:YU8H/oh/.net]
- 結局Rustが一番いいよな
非同期をawaitという限られた同期パターンだけでなくfutureを直接扱うことも可能だし Goのようにコルーチンをすぐ動かせるしそれに対して同様にchannel通信もいけるしfutureとして扱うことも可能
- 1005 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 10:55:30.64 ID:9qJ+oS+1.net]
- アホか、Rustに厳密なcoroutineなんてデフォルトで無いやろ、Boost移植のcontext-rs/coroutine-rsとかあるけども…
実験的にRFC 2033: experimental coroutinesとかやってるけど、N:Mスレッドスケジューラーが標準搭載される未来はない。
- 1006 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 11:24:57.22 ID:YU8H/oh/.net]
- >>984
Rustでは一昨年からasync blockが既にstackless symmetric coroutineとして動いています zero costでlazyなのでasync blockを作るとそれだけだとfutureが出来るのみ それをm:n含め好きなスケジューラがいくらでもあるのでそれに対してspawnするだけで起動します そのasync block内では全てawaitしまくればgoroutineと同じ状況になります もちろんチャネルも使えます
- 1007 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 12:31:40.21 ID:cpUh/hIt.net]
- Rustの並行処理には未来を感じるけど、
tokioとasync-stdはどっちがデファクトスタンダードです?
- 1008 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 12:37:47.85 ID:XjtTquHZ.net]
- 不毛な議論にまたなるのでアホは相手したくないが、「厳密な」と書いていることが全くわかってない。
所詮spawnするということはasync/awaitがepollベースであり、更には「全てawaitしまくれば」なんてGoと同じ状況じゃないでしょw 標準搭載と書いてるのに「好きなスケジューラがいくらでもある」とほざく ゼロコスト、ゼロコスト言うやつがいる限りウザがられるし、英文で書けば相手を丸め込む事ができると思い込んでると ホントに爪弾きにされるぞ、Rust推しは分かるけどもう少し顔真っ赤にしてくる態度改めようぜ? C++でもco_await、co_yieldはゼロコストでスタック消費しないし、コンパイラ型で非同期にコスト掛かる言語って何?
- 1009 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 14:43:42.13 ID:ecGTY8hf.net]
- https://i.imgur.com/dB5gmZU.png
2022年版が必要です
- 1010 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 14:53:55.31 ID:nVZu9KeB.net]
- >>987
貴方のほうが色々とおかしい。 >所詮spawnするということはasync/awaitがepollベースであり、Goと同じ状況じゃないでしょw まずepollを貴方が理解できていない。epollはLinuxでのpoll/select系システムコールのAPI。 厳密にするのも的外れなので、仮にここではselect/poll等の意味合いで受け取っておく。 Goのgoroutineも当然ながらこのselect/poll等を用いて実現しているので全く同じ状況。 当然select/poll等を用いなければgoroutineのような軽量スレッド(グリーンスレッド)は実現できない。 >所詮spawnするということはasync/awaitがepollベースであり、 引用再掲するが、貴方は更なる誤解もしている。 まず、awaitはfutureを解決する単なる一つの手段にすぎず、貴方が言及しているspawnする対象はfurureである。 そしてGoでの「go func」がRustでの「spawn(future)」に相当。 これらが為されないとどちらもスケジューラに登録されず両者は同じ状況であると言える。 >更には「全てawaitしまくれば」なんてGoと同じ状況じゃないでしょ Goroutineでは明記しなくても暗黙的にawaitを付けたのと同じ同期的な記述で非同期を記述できる。 したがって、Rustにおいては「全てawaitしまくれば」Goと同じ状況といっても過言ではないと言えよう。 いずれにしても「go func」と「spawn(future)」の場合と同じで記述面での些細な相違だけにすぎない。 >標準搭載と書いてるのに「好きなスケジューラがいくらでもある」とほざく Rustの標準には不可欠なものしか無いから標準搭載されていないのは当たり前。 よく例に出されるが、C言語でstdlibにあるrand()のような乱数ですらRustの標準ライブラリにはない。 貴方の無茶な理論だとRustは乱数もサポートしていない言語、となる。 OSや組み込みにも用いられる状況で、何か単一のスケジューラが標準搭載であればよい、わけがない。 むしろ様々なスケジューラを選ぶことができるRustの状況こそ、明らかに有利である。
- 1011 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 15:23:08.46 ID:SmqbIrWZ.net]
- 顔真っ赤マン。。。
- 1012 名前:デフォルトの名無しさん [2021/12/14(火) 16:25:41.72 ID:iFoIKYew.net]
- >>989
顔真っ赤で草
- 1013 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 17:27:33.19 ID:YU8H/oh/.net]
- >>986
個人的には名の通りstdをasync化しているasync-stdが好みです >>987 よくわかっていらっしゃらないようなのでどの言語でもいいから実際にプログラミングしてみることをおすすめします epollでもselectでもいいからI/Oイベントループを自分で書いてみればそれがディスパッチャでありスケジューラの核心だとわかりますよ C言語で大丈夫ですから []- [ここ壊れてます]
- 1015 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 18:07:51.75 ID:K0HBzsrc.net]
- 顔真っ赤オジサン、スケジューラの核心www
- 1016 名前:デフォルトの名無しさん [2021/12/14(火) 20:36:31.90 ID:oL+i1N1M.net]
- ここまでの議論でわかったことは、RustよりGoのほうが上。
- 1017 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 07:13:59.09 ID:CevG0U/x.net]
- Goでできることが全てRustでもできるようになってしまったもんな
Goではできないこと辛いことが多すぎてGo2でRustの後追いしようとしているがGo2は期待外れで盛り下がっている
- 1018 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 08:58:39.57 ID:3YmRd/Kz.net]
- それがディスパッチャでありスケジューラの核心
- 1019 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 11:21:17.73 ID:TZwcTz32.net]
- Goは色んなレベルで簡素で手段に制限があるけど
そこをパズルのように組み合わせてある程度のことは出来る楽しさがいいのよ ただしそれが飽きられてきていたり楽しいと思う人たちより外に広まらなかったり 自然じゃない組み合わせで実装や冗長な記述などせざるをえなかったり だからGoはこのまま狭い適用範囲だけで使われる形になりそう
- 1020 名前:デフォルトの名無しさん [2021/12/15(水) 11:41:54.42 ID:z10T13Tn.net]
- このスレなくなったら名残惜しいから次スレ建てろ
完走しても建ってなかったらワイが建てるで
- 1021 名前:デフォルトの名無しさん mailto:sage [2021/12/15(水) 12:34:06.40 ID:t4BO72er.net]
- >>997
納得できない じゃあきみはGoにGenericsとか実装されても使いたくないの? Goの良いところはそういうとこじゃないでしょ
- 1022 名前:デフォルトの名無しさん [2021/12/15(水) 12:34:55.45 ID:z10T13Tn.net]
- 1000ならC++の勝ち!!!!!
- 1023 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 235日 4時間 30分 6秒
- 1024 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|