Rustアンチスレ (202レス)
上下前次1-新
抽出解除 レス栞
85(1): 2021/09/12(日)22:17 ID:Zjk1d74X(1) AAS
>>75
同期実行ライブラリと整合性が無いというのはウソです
Rustでstd利用の同期とasync-std利用の非同期のプログラムはほとんど同じように書けます
例えば複数のファイルのチェックサム計算を同期と非同期の2通りに書いた以下の記事を参考にすると
外部リンク:qiita.com
メイン部分の両者のdiffを取ると以下のような感じです
for entry in entries {
let entry = entry.unwrap();
if entry.file_type().unwrap().is_file() {
+ let handle = async_std::task::spawn(async move {
省19
94: 2021/09/15(水)02:02 ID:x4RgVtnC(1) AAS
>>85
そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら
当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら
チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで
いずれも書かれていて1つも違いがありません。
これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や
より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは
使えずストリームを非同期に読み続けて計算することになるでしょう。という事はbytes.iter().foldも使えません
「同期実行ライブラリと整合性が無いというのはウソです」このように言い切ること自体に"気持ち悪い信仰"を
持っているのは良く分かりますが、元が「整合性が無さすぎる」と言っているのは、整合性がある1パターンを
省2
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.694s*