闘え
※前スレ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
C vs C++ vs Rust Part.2
https://mevius.5ch.net/test/read.cgi/tech/1639539350/
探検
C vs C++ vs Rust Part.3
■ このスレッドは過去ログ倉庫に格納されています
2022/01/27(木) 22:19:47.56ID:avZQ9Wm7
483デフォルトの名無しさん
2022/03/15(火) 19:46:14.60ID:H3mwwYQo484デフォルトの名無しさん
2022/03/15(火) 19:57:31.66ID:DajlRg+n >>481
そんなことねーよw
>>482
まあね。その剥き出し感がいいんだよ遊びで使う分には。見えてない部分がないところ。
一応言っておくと難しい機能は公開するようなコードでは使わないよ。
>>483
https://docs.rs/itertools/0.7.8/src/itertools/combinations.rs.html
そんなことねーよw
>>482
まあね。その剥き出し感がいいんだよ遊びで使う分には。見えてない部分がないところ。
一応言っておくと難しい機能は公開するようなコードでは使わないよ。
>>483
https://docs.rs/itertools/0.7.8/src/itertools/combinations.rs.html
485デフォルトの名無しさん
2022/03/15(火) 20:02:15.14ID:H3mwwYQo >>482
C++のSFINAEはもちろん酷くて論外だが
逆にRustの現状のトレイト実装ルールは実装型を互いに排他を満たす必要があり厳しすぎる
もちろんRustコンパイラは進化し続けていて一部特殊化がそろそろ安定化しそうで少し緩和となり期待
C++のSFINAEはもちろん酷くて論外だが
逆にRustの現状のトレイト実装ルールは実装型を互いに排他を満たす必要があり厳しすぎる
もちろんRustコンパイラは進化し続けていて一部特殊化がそろそろ安定化しそうで少し緩和となり期待
486デフォルトの名無しさん
2022/03/15(火) 20:03:31.49ID:kxxb+wWf 若い頃はSFINAEのパズル解く感じが好きでヤバいコード結構書いてたけど、だんだんあれは正気ではなかったなと思うようになってきた
487デフォルトの名無しさん
2022/03/15(火) 20:06:07.03ID:DajlRg+n >>486
やめてそういうこと言うのw
やめてそういうこと言うのw
488デフォルトの名無しさん
2022/03/15(火) 20:13:48.68ID:bERyk9+R >>484
あなたはそのリンクを出すことでRustを全く知らない無知だとバレました
なぜならそのリンクのitertoolsバージョン0.7.8は4年前なのです
検索でリンクを拾ってこない限りそんな超古いバージョンを示す人はいません
あなたはプログラミング未経験者もしくは初心者であることがバレてしまいました
あなたはそのリンクを出すことでRustを全く知らない無知だとバレました
なぜならそのリンクのitertoolsバージョン0.7.8は4年前なのです
検索でリンクを拾ってこない限りそんな超古いバージョンを示す人はいません
あなたはプログラミング未経験者もしくは初心者であることがバレてしまいました
489デフォルトの名無しさん
2022/03/15(火) 20:30:44.95ID:H3mwwYQo490デフォルトの名無しさん
2022/03/15(火) 20:46:50.19ID:DajlRg+n491デフォルトの名無しさん
2022/03/15(火) 21:05:33.57ID:H3mwwYQo492デフォルトの名無しさん
2022/03/15(火) 21:23:06.07ID:H3mwwYQo もしプログラミングが不慣れで難しいようだったら
イテレータを「どんな仕様」にしてしまってもいいぜ
それがヒントだ
イテレータを「どんな仕様」にしてしまってもいいぜ
それがヒントだ
493デフォルトの名無しさん
2022/03/15(火) 21:27:42.88ID:DajlRg+n お前に認めてもらう必要なんてねーよw Rustを使うやつはバカしかいないんだなw
494デフォルトの名無しさん
2022/03/15(火) 21:37:04.88ID:bERyk9+R >>493
今回は検索してリンクを拾ってこれなかったのね
今回は検索してリンクを拾ってこれなかったのね
495デフォルトの名無しさん
2022/03/15(火) 21:38:31.66ID:DajlRg+n 煽って正解もらいたいバカしかいないの?w
496デフォルトの名無しさん
2022/03/15(火) 22:05:39.63ID:bERyk9+R497デフォルトの名無しさん
2022/03/15(火) 22:10:01.54ID:DajlRg+n 断念もクソもなんでお前らに言われて俺がやる必要があるんだよw バカだろw
ハッキリ言っておくが俺はRust書けるし、多分お前らより詳しいよ普通にw
こういうのがRust推してる信者頭おかしくて性格歪んだやつしかいない雰囲気100%で毛嫌いされてる理由なんだろうなw
ハッキリ言っておくが俺はRust書けるし、多分お前らより詳しいよ普通にw
こういうのがRust推してる信者頭おかしくて性格歪んだやつしかいない雰囲気100%で毛嫌いされてる理由なんだろうなw
498デフォルトの名無しさん
2022/03/15(火) 22:11:58.21ID:DajlRg+n 端的に言うと、流行りばかり気にするすごい頭悪い人たちと同じ匂いがするんだよw
499デフォルトの名無しさん
2022/03/15(火) 22:16:52.73ID:H3mwwYQo >>497
Rustに詳しいならば
既存のこれを使えばいい、と即答できる問題
あるいはsubsetsイテレータという問題だから仕様が自由に何でもいいならば初心者でもコードを一瞬で示せる問題
どちらも出来ないならRust未経験と断定できる
Rustに詳しいならば
既存のこれを使えばいい、と即答できる問題
あるいはsubsetsイテレータという問題だから仕様が自由に何でもいいならば初心者でもコードを一瞬で示せる問題
どちらも出来ないならRust未経験と断定できる
500デフォルトの名無しさん
2022/03/15(火) 22:31:30.23ID:DajlRg+n permutationやcombinationとか普通にはあまり使わないんだよ
競プロとかやってる実利のないコードをメインに書いてるバカがそういうのをやたら使いたがって、俺より遅いコードしか書けないし、創造的なロジックもどうやら苦手そうなのに、そういう問題やたら出してくるんだよね
俺は元々そういうの得意だけど、その手の問題を好き好んで出してくるバカに答えを書いてやるのが嫌なんだよw
納得?
競プロとかやってる実利のないコードをメインに書いてるバカがそういうのをやたら使いたがって、俺より遅いコードしか書けないし、創造的なロジックもどうやら苦手そうなのに、そういう問題やたら出してくるんだよね
俺は元々そういうの得意だけど、その手の問題を好き好んで出してくるバカに答えを書いてやるのが嫌なんだよw
納得?
501デフォルトの名無しさん
2022/03/15(火) 22:43:02.13ID:bERyk9+R502デフォルトの名無しさん
2022/03/15(火) 22:45:50.74ID:DajlRg+n 俺pythonで書いてるし、自分でもすぐ書けるけど、お前に回答すんのが嫌なんだよw
なぜならお前がバカだからw 何度もそう書いてんだけどw
なぜならお前がバカだからw 何度もそう書いてんだけどw
503デフォルトの名無しさん
2022/03/15(火) 22:50:52.11ID:DajlRg+n ああ、ちなみにpermutationやcombinationのアルゴリズムは簡単w
504デフォルトの名無しさん
2022/03/15(火) 22:53:14.37ID:H3mwwYQo さきほどcombinationsイテレータをググって古いversionのitertoolsのソースで回答したよな>>484
ところが今回のsubsetsについては回答できない
検索で出てこないから答えられないのだとわかる
ところが今回のsubsetsについては回答できない
検索で出てこないから答えられないのだとわかる
505デフォルトの名無しさん
2022/03/15(火) 23:04:20.16ID:DajlRg+n 永久に書いてやるよw
すぐ書けるけど、お前に回答すんのが嫌なんだよw
なぜならお前がバカだからw 何度もそう書いてんだけどw
すぐ書けるけど、お前に回答すんのが嫌なんだよw
なぜならお前がバカだからw 何度もそう書いてんだけどw
506デフォルトの名無しさん
2022/03/15(火) 23:07:34.34ID:bERyk9+R507デフォルトの名無しさん
2022/03/15(火) 23:09:47.42ID:DajlRg+n 永久に書いてやるよw
すぐ書けるけど、お前に回答すんのが嫌なんだよw
なぜならお前がバカだからw 何度もそう書いてんだけどw
すぐ書けるけど、お前に回答すんのが嫌なんだよw
なぜならお前がバカだからw 何度もそう書いてんだけどw
508デフォルトの名無しさん
2022/03/15(火) 23:20:19.51ID:H3mwwYQo509デフォルトの名無しさん
2022/03/15(火) 23:24:18.79ID:DajlRg+n510デフォルトの名無しさん
2022/03/15(火) 23:32:35.94ID:bERyk9+R511デフォルトの名無しさん
2022/03/15(火) 23:54:14.91ID:DajlRg+n 俺理系院卒だから数学一般教養くらいはあるぞw
難しい話をしてるつもりなのかもしれんけどw
難しい話をしてるつもりなのかもしれんけどw
512デフォルトの名無しさん
2022/03/16(水) 00:52:00.92ID:2VKgWl5Z513デフォルトの名無しさん
2022/03/16(水) 10:39:48.98ID:iFx1kR7d 同じことをやるにしてもrustは面倒くさそう
514デフォルトの名無しさん
2022/03/16(水) 14:20:20.70ID:4Deniw6A rustは詳しく知れば知るほど使える領域が狭いことに気付く。まあ勉強して損することはないとは思うけど。
515デフォルトの名無しさん
2022/03/16(水) 16:01:45.47ID:FLjIdsXf まぁ、Rustがものすごく人気になるようだったら、Rustを下敷きにしたC++サブセット Smart C++が出てくると思うわ。
そしてc++はライブラリアン向けのunsafe的な扱いになる、と。
そしてc++はライブラリアン向けのunsafe的な扱いになる、と。
516デフォルトの名無しさん
2022/03/16(水) 17:58:27.77ID:NLGXbRJg >>515
無理じゃないかな。
無理じゃないかな。
517デフォルトの名無しさん
2022/03/16(水) 20:15:10.51ID:TNL7Q8/z rustが他言語の仕様に影響を与える部分はでてくるだろうね。
518デフォルトの名無しさん
2022/03/16(水) 21:02:09.61ID:0TydPa2f 反面教師にはなるよねw
519デフォルトの名無しさん
2022/03/16(水) 21:24:41.08ID:MkjFLw2M520デフォルトの名無しさん
2022/03/16(水) 21:56:01.01ID:GaQESt6l 少なくともC++はリプレイスしてほしいな
521デフォルトの名無しさん
2022/03/16(水) 21:58:33.64ID:0TydPa2f Rust信者って本当にバカだなw
妄想で他人を説得はできないんだよ
グラフ構造を標準ライブラリとunsafe使わずに簡潔に書いてみろよw
他の言語で出来ないやつないから
Rustも超狭い領域ではオンリーワンくらい有効なんだけど、それ以外では趣味でしか使われない
妄想で他人を説得はできないんだよ
グラフ構造を標準ライブラリとunsafe使わずに簡潔に書いてみろよw
他の言語で出来ないやつないから
Rustも超狭い領域ではオンリーワンくらい有効なんだけど、それ以外では趣味でしか使われない
522デフォルトの名無しさん
2022/03/16(水) 23:51:54.51ID:yCGU0QjC >>491 >>492
横からやけどほんまにどんな仕様にしてもええの?
それなら長さlenのsubsetsイテレータは10文字で完成
『0..(1<<len)』
数字を2進数で見てbit立っている要素による各subset
0は全ての要素がないから空集合
それで納得してもらえんのやったら入力inputとして
(0..(1 << len))
.map(|c| (0..len)
.filter_map(move |i| (c & (1 << i) != 0).then(|| &input[i]))
.collect::<Vec<_>>())
これでちゃんとしたsubsetsイテレータが完成
例えばinput = &["a", "b", "c"]ならば以下が順に出る
[]
["a"]
["b"]
["a", "b"]
["c"]
["a", "c"]
["b", "c"]
["a", "b", "c"]
横からやけどほんまにどんな仕様にしてもええの?
それなら長さlenのsubsetsイテレータは10文字で完成
『0..(1<<len)』
数字を2進数で見てbit立っている要素による各subset
0は全ての要素がないから空集合
それで納得してもらえんのやったら入力inputとして
(0..(1 << len))
.map(|c| (0..len)
.filter_map(move |i| (c & (1 << i) != 0).then(|| &input[i]))
.collect::<Vec<_>>())
これでちゃんとしたsubsetsイテレータが完成
例えばinput = &["a", "b", "c"]ならば以下が順に出る
[]
["a"]
["b"]
["a", "b"]
["c"]
["a", "c"]
["b", "c"]
["a", "b", "c"]
523デフォルトの名無しさん
2022/03/16(水) 23:53:02.55ID:yCGU0QjC >>491 >>492
横からやけどほんまにどんな仕様にしてもええの?
それなら長さlenのsubsetsイテレータは10文字で完成
『0..(1<<len)』
数字を2進数で見てbit立っている要素による各subset
0は全ての要素がないから空集合
それで納得してもらえんのやったら入力inputとして
(0..(1 << len))
.map(|c| (0..len)
.filter_map(move |i| (c & (1 << i) != 0).then(|| &input[i]))
.collect::<Vec<_>>())
これでちゃんとしたsubsetsイテレータが完成
例えばinput = &["a", "b", "c"]ならば以下が順に出る
[]
["a"]
["b"]
["a", "b"]
["c"]
["a", "c"]
["b", "c"]
["a", "b", "c"]
横からやけどほんまにどんな仕様にしてもええの?
それなら長さlenのsubsetsイテレータは10文字で完成
『0..(1<<len)』
数字を2進数で見てbit立っている要素による各subset
0は全ての要素がないから空集合
それで納得してもらえんのやったら入力inputとして
(0..(1 << len))
.map(|c| (0..len)
.filter_map(move |i| (c & (1 << i) != 0).then(|| &input[i]))
.collect::<Vec<_>>())
これでちゃんとしたsubsetsイテレータが完成
例えばinput = &["a", "b", "c"]ならば以下が順に出る
[]
["a"]
["b"]
["a", "b"]
["c"]
["a", "c"]
["b", "c"]
["a", "b", "c"]
524デフォルトの名無しさん
2022/03/17(木) 01:31:24.96ID:HeUHSOmZ collectするならfoldで十分かな
fn subsets<T>(input: &[T]) -> impl Iterator<Item=Vec<&T>> {
let len = input.len();
(0..(1 << len))
.map(move |c| (0..len)
.fold(vec![], |mut v, i| {
if c & (1 << i) != 0 {
v.push(&input[i])
};
v
})
)
}
fn subsets<T>(input: &[T]) -> impl Iterator<Item=Vec<&T>> {
let len = input.len();
(0..(1 << len))
.map(move |c| (0..len)
.fold(vec![], |mut v, i| {
if c & (1 << i) != 0 {
v.push(&input[i])
};
v
})
)
}
525デフォルトの名無しさん
2022/03/17(木) 02:22:57.24ID:stJJ2apy C++でsubsetsイテレータを書くとどんな感じになるの?
526デフォルトの名無しさん
2022/03/17(木) 02:29:21.66ID:M6s617kA >>519
馬鹿
馬鹿
527デフォルトの名無しさん
2022/03/17(木) 02:39:09.51ID:faeKJv0z528デフォルトの名無しさん
2022/03/17(木) 02:53:46.50ID:75al4ANx529デフォルトの名無しさん
2022/03/17(木) 03:28:10.97ID:OxdqHDsn >>527
ぜひC++版お願い
ぜひC++版お願い
530デフォルトの名無しさん
2022/03/17(木) 04:22:11.55ID:faeKJv0z531デフォルトの名無しさん
2022/03/17(木) 08:12:49.73ID:8E8aTCar >>520
リプレースはしなくていい。
コーダーとかが通常使う安全運転版と、ライブラリアン用のフル版が住み分け・共存できればいい。
従来はコーディング規約とライブラリでやっていたところだけど、こういうのはshared ptrみたいに旨が使う共通仕様にしたほうがいい。
リプレースはしなくていい。
コーダーとかが通常使う安全運転版と、ライブラリアン用のフル版が住み分け・共存できればいい。
従来はコーディング規約とライブラリでやっていたところだけど、こういうのはshared ptrみたいに旨が使う共通仕様にしたほうがいい。
532デフォルトの名無しさん
2022/03/17(木) 08:19:10.27ID:H9cH52GC Rustに移行すれば
色んな問題が一気に解決するだけでなく
プログラミングもしやすくなって一石二鳥
色んな問題が一気に解決するだけでなく
プログラミングもしやすくなって一石二鳥
533デフォルトの名無しさん
2022/03/17(木) 08:41:07.21ID:FVjeEviC >>532
サンプルコードがもっと充実してきて、標準的なコーディングが普及してきてから検討するわ。
Rustは土方向け言語目指しているのに、今のRustの仕様だと土方に難しすぎるから中途半端。それならc++&コーディング規約でいいや。
サンプルコードがもっと充実してきて、標準的なコーディングが普及してきてから検討するわ。
Rustは土方向け言語目指しているのに、今のRustの仕様だと土方に難しすぎるから中途半端。それならc++&コーディング規約でいいや。
534デフォルトの名無しさん
2022/03/17(木) 08:49:29.01ID:+B7ucdDW >>533
君たち土方には難しいのかも知れないが普通のプログラマーにとっては難しくないしコーティングがC++より快適
君たち土方には難しいのかも知れないが普通のプログラマーにとっては難しくないしコーティングがC++より快適
535デフォルトの名無しさん
2022/03/17(木) 08:57:01.71ID:qDb9bUKB Pythonくらいしかやったことない人にとって難しいのはそうだろうけど
C++14/17についていってる人ならRust余裕だと思うけどなぁ
C++14/17についていってる人ならRust余裕だと思うけどなぁ
536デフォルトの名無しさん
2022/03/17(木) 10:08:01.84ID:faeKJv0z Rustに出来てC++が似たようなことを出来ないってことはまずないよ
ただ同じことをしたい場合、手間がすごいかかる(23は知らんけど)
そしてどう転んでもエラーがRustほど人間に優しくなったりはしない(と思う)
C++に出来てRustが似たようなことを出来ないってこともそんなに多くない
まあでもこっちは本当に出来ない
https://www.reddit.com/r/rust/comments/n7rjfk/what_can_c_do_that_rust_cant_2021_edition/
ただRustは初心者には難しすぎ、ある程度他の言語をやってる人にも難しいというハンデがある
なのでスクリプト言語感覚でRustをやろうと思うのはちょっとオススメできない
楽を出来る場面は確かにあるので、そこをどの程度メリットと捉えるか
制約をどの程度デメリットと捉えるかで評価が分かれる
ただ同じことをしたい場合、手間がすごいかかる(23は知らんけど)
そしてどう転んでもエラーがRustほど人間に優しくなったりはしない(と思う)
C++に出来てRustが似たようなことを出来ないってこともそんなに多くない
まあでもこっちは本当に出来ない
https://www.reddit.com/r/rust/comments/n7rjfk/what_can_c_do_that_rust_cant_2021_edition/
ただRustは初心者には難しすぎ、ある程度他の言語をやってる人にも難しいというハンデがある
なのでスクリプト言語感覚でRustをやろうと思うのはちょっとオススメできない
楽を出来る場面は確かにあるので、そこをどの程度メリットと捉えるか
制約をどの程度デメリットと捉えるかで評価が分かれる
537デフォルトの名無しさん
2022/03/17(木) 12:06:55.23ID:wJGqDNhd538デフォルトの名無しさん
2022/03/17(木) 16:20:31.29ID:YyXXowcK539デフォルトの名無しさん
2022/03/17(木) 18:26:55.16ID:kAy4MIQW540デフォルトの名無しさん
2022/03/17(木) 18:35:40.91ID:+BzvG1OL お手軽さっていう話だと、関数の仮引数の型も型推論してほしい、ってたまに思っちゃう
541デフォルトの名無しさん
2022/03/17(木) 18:44:45.18ID:qDwk9HhQ542デフォルトの名無しさん
2022/03/17(木) 18:59:38.79ID:Rcv7QaS+ > 仮引数の型も型推論
OCamlだとそれはフツーにできてるのにね
> 過去のコードや他人のコードを読むときに直近に型があるのは大きい
同じような話だがJavaのジェネリクスで
> List<Foo> list = new ArrayList<>();
> この右辺のパラメータが省略できるのを有難がるのは残念で
> ホントは左を省略してvar ist = new ArrayList<Foo>();
> と書けたほうが嬉しいのにJavaはやっぱりダメダメ
みたいな意見をみたことがあるが、左を残すことこそ大事なんだよな
実装に対してではなくてインタフェースに対してプログラミングするのであって
変数の型を必要最低限の小さいインタフェースで宣言するのが嬉しいのに
それをわかってないやつはタイピング数などで判断して世迷い言を言う
OCamlだとそれはフツーにできてるのにね
> 過去のコードや他人のコードを読むときに直近に型があるのは大きい
同じような話だがJavaのジェネリクスで
> List<Foo> list = new ArrayList<>();
> この右辺のパラメータが省略できるのを有難がるのは残念で
> ホントは左を省略してvar ist = new ArrayList<Foo>();
> と書けたほうが嬉しいのにJavaはやっぱりダメダメ
みたいな意見をみたことがあるが、左を残すことこそ大事なんだよな
実装に対してではなくてインタフェースに対してプログラミングするのであって
変数の型を必要最低限の小さいインタフェースで宣言するのが嬉しいのに
それをわかってないやつはタイピング数などで判断して世迷い言を言う
543デフォルトの名無しさん
2022/03/17(木) 19:25:12.70ID:pdkFYtDC Rust学習しはじめだがEnumの仕組みは良いと思う。
C#あたりに組み込まれればいいのに。
C#あたりに組み込まれればいいのに。
544デフォルトの名無しさん
2022/03/17(木) 20:43:27.53ID:oh1xEFC0 enum Optionとか便利で簡潔に
null nil undefined -1など無くして安全に出来ていいよね
それでいてコンパイル後は最適化されたり消えたりして効率も両立されたり
null nil undefined -1など無くして安全に出来ていいよね
それでいてコンパイル後は最適化されたり消えたりして効率も両立されたり
545デフォルトの名無しさん
2022/03/17(木) 20:52:32.01ID:faeKJv0z 別にC++でも同じことはできるけどね
自分で組めばC++14とかでもrxっぽく書いたり、Optionの実装も余裕
手間さえ惜しまなければw
自分で組めばC++14とかでもrxっぽく書いたり、Optionの実装も余裕
手間さえ惜しまなければw
546デフォルトの名無しさん
2022/03/17(木) 20:55:03.76ID:faeKJv0z Javaも最近は左側省略できるよ
おっしゃるとおり基底型何にするかは選べないけどw
おっしゃるとおり基底型何にするかは選べないけどw
547デフォルトの名無しさん
2022/03/17(木) 20:58:40.56ID:LRb50lm3 C++17にstd::optional<T>があるにはあるのだが...
膨大な量の既存のSTLが無効値をoptionalに置き換えられることはない
つまり無効値でoptionalを返す風潮ができにくいから悲しみ
膨大な量の既存のSTLが無効値をoptionalに置き換えられることはない
つまり無効値でoptionalを返す風潮ができにくいから悲しみ
548デフォルトの名無しさん
2022/03/17(木) 20:59:36.98ID:oh1xEFC0 引数の型推論は原理的にはかなり出来そうだけど
例えば引数がas_ref()で使われていて変換後がPathなら引数はimpl AsRef<Path>までやっちゃう?
でもその利用者へのインタフェース明示や可読性と保守性を考えると型明記でいいような気がする
例えば引数がas_ref()で使われていて変換後がPathなら引数はimpl AsRef<Path>までやっちゃう?
でもその利用者へのインタフェース明示や可読性と保守性を考えると型明記でいいような気がする
549デフォルトの名無しさん
2022/03/17(木) 21:13:38.45ID:faeKJv0z C++もautoだらけlambdaだらけにすると引数も戻り値も結構型書かなくていいけど、遠すぎて何に怒られてるのか分からん代入エラーが出たりもするw
Rustも同じだけどエラーは分かりやすい
Rustも同じだけどエラーは分かりやすい
550デフォルトの名無しさん
2022/03/17(木) 21:15:46.46ID:cEFLJG6J551デフォルトの名無しさん
2022/03/17(木) 21:23:13.02ID:faeKJv0z そこはfilterとmapの方が分かりやすい
552デフォルトの名無しさん
2022/03/17(木) 21:32:28.43ID:7cb0HHrx 一般的にfilter_mapはわかりやすと速さを両立
だからわざわざfilter_mapやfilter_map_okが用意されている
だからわざわざfilter_mapやfilter_map_okが用意されている
553デフォルトの名無しさん
2022/03/17(木) 21:35:05.28ID:faeKJv0z そんなところは全く速さに影響しないと思うよ
554デフォルトの名無しさん
2022/03/17(木) 21:43:21.73ID:LVblziyo555デフォルトの名無しさん
2022/03/17(木) 21:49:32.84ID:faeKJv0z お前は速くなることを確認したんかい?w
俺は出来るけど速くならないことを確認する必要がないと判断したw
お前は恐らく出来ないw
俺は出来るけど速くならないことを確認する必要がないと判断したw
お前は恐らく出来ないw
556デフォルトの名無しさん
2022/03/17(木) 21:58:49.13ID:S0ETBIy2 コードそのままならイテレータ2つより1つの方が速いと明白なので
速さが同じと主張する>>555が最適化で同じコードになることを示す必要がある
速さが同じと主張する>>555が最適化で同じコードになることを示す必要がある
557デフォルトの名無しさん
2022/03/17(木) 22:05:07.99ID:faeKJv0z 明白じゃねーよwwwww
558デフォルトの名無しさん
2022/03/17(木) 22:19:03.24ID:ONkUn4dy たぶん>>557氏はイテレータの動作原理を知らないのだと思う
例えばfilterは構造体Filterを返しそのメソッドnext()がイテレータを進めるごとに呼ばれる
同様にmapは構造体Mapを返しそのメソッドnext()がイテレータを進めるごとに呼ばれる
最適化前はそれら二重のオーバヘッドがある
例えばfilterは構造体Filterを返しそのメソッドnext()がイテレータを進めるごとに呼ばれる
同様にmapは構造体Mapを返しそのメソッドnext()がイテレータを進めるごとに呼ばれる
最適化前はそれら二重のオーバヘッドがある
559デフォルトの名無しさん
2022/03/17(木) 22:24:52.40ID:qNBuWQhB 速さに関して議論するなら最適化のコードがどうなるかを確認すべきでは
特にイテレーターアダプターを何度も噛ませてもfor文相当のコードが生成されるというのはrustの売りのひとつだよね
特にイテレーターアダプターを何度も噛ませてもfor文相当のコードが生成されるというのはrustの売りのひとつだよね
560デフォルトの名無しさん
2022/03/17(木) 22:29:02.79ID:IFNw/pUN もし最適化後に有意に速度差があるなら、それは性能バグとしてIssueにあげるべき問題だと思う
561デフォルトの名無しさん
2022/03/17(木) 22:31:57.85ID:IHLBrgoM562デフォルトの名無しさん
2022/03/17(木) 22:36:47.68ID:faeKJv0z 立証義務なんてねーだろwwww
できないからって他人に頼るなwwwww
できないからって他人に頼るなwwwww
563デフォルトの名無しさん
2022/03/17(木) 22:38:48.81ID:IFNw/pUN 意味的に同じことやってるんだから、理想的な最適化コンパイラは全く同じバイナリを吐くはずで
遅くなるはずってのも別に自明ではないのでは
遅くなるはずってのも別に自明ではないのでは
564デフォルトの名無しさん
2022/03/17(木) 22:46:51.69ID:IHLBrgoM565デフォルトの名無しさん
2022/03/17(木) 22:48:42.58ID:faeKJv0z できないんだねwwww
rustの吐くコードすげー見にくいしなw
それ以前にアセンブラ読めなそうw
rustの吐くコードすげー見にくいしなw
それ以前にアセンブラ読めなそうw
566デフォルトの名無しさん
2022/03/17(木) 22:52:00.13ID:IFNw/pUN567デフォルトの名無しさん
2022/03/17(木) 22:57:38.05ID:s2P7MscG568デフォルトの名無しさん
2022/03/17(木) 23:14:09.53ID:faeKJv0z お前が無知なだけw
569デフォルトの名無しさん
2022/03/17(木) 23:29:12.99ID:OpaED0hw >>565
LLVMがアセンブリを吐いてることも知らないのか
LLVMがアセンブリを吐いてることも知らないのか
570デフォルトの名無しさん
2022/03/17(木) 23:31:17.03ID:faeKJv0z ビビリ単発IDが何もかもを証明しちゃってるw
お前は何も分かってないw
お前は何も分かってないw
571デフォルトの名無しさん
2022/03/17(木) 23:50:47.22ID:76PcfavB >>529
C++ではそんなに簡単には書けない
C++ではそんなに簡単には書けない
572デフォルトの名無しさん
2022/03/17(木) 23:59:39.29ID:faeKJv0z C++でも簡単に書けるよw
C++20で導入されたrangeでも使ってみw
より古い規格でもユーザーライブラリを使えばRxっぽい記述は簡単に出来る
自分で書くと難しくはないが骨が折れるタイプの実装
並列化を意識しない限りだけどw
まあ並列化を意識しないで簡便さを意識すれば無理にRxを使う必要もないけども・・・
C++20で導入されたrangeでも使ってみw
より古い規格でもユーザーライブラリを使えばRxっぽい記述は簡単に出来る
自分で書くと難しくはないが骨が折れるタイプの実装
並列化を意識しない限りだけどw
まあ並列化を意識しないで簡便さを意識すれば無理にRxを使う必要もないけども・・・
573デフォルトの名無しさん
2022/03/18(金) 00:00:49.69ID:Mo7HNly3574デフォルトの名無しさん
2022/03/18(金) 00:03:10.42ID:slshVm4c 加えて言えばRxでなければ上限を意識したループで書けるのでメモリ確保が最適化できるし、手でinlineにする部分を選べる分より速く書ける可能性もあるw
575デフォルトの名無しさん
2022/03/18(金) 00:03:27.72ID:slshVm4c >>573
いくらくれる?
いくらくれる?
576デフォルトの名無しさん
2022/03/18(金) 00:10:24.15ID:eD3MnnxT >>574
無理だ
無理だ
577デフォルトの名無しさん
2022/03/18(金) 00:13:29.40ID:slshVm4c 君にはそうなんだねw可哀想にねw
578デフォルトの名無しさん
2022/03/18(金) 00:37:03.66ID:3Q/aNMKI 前スレの時からそうだけどRustのコードばかり出てくるスレ
C++で同じコードを書くと長く見難くなってしまうからだろうけど
C++で同じコードを書くと長く見難くなってしまうからだろうけど
579デフォルトの名無しさん
2022/03/18(金) 00:49:14.78ID:slshVm4c C++20なら普通に同じくらいw
あるのはRustの不慣れな部分コードねw まあこのレベルの作業に良い悪いもないけどw
君等のお勉強()にはいいんじゃないのw
あるのはRustの不慣れな部分コードねw まあこのレベルの作業に良い悪いもないけどw
君等のお勉強()にはいいんじゃないのw
580デフォルトの名無しさん
2022/03/18(金) 03:33:36.54ID:ljbCBN/E >>524のC++バージョン教えて
581デフォルトの名無しさん
2022/03/18(金) 06:33:28.96ID:slshVm4c これだけヒント出してやったのにまだ書けないのやばくね?w
582デフォルトの名無しさん
2022/03/18(金) 08:39:50.87ID:q9WLoJ2B >>542
変数の型を必要最低限の小さいインタフェースで宣言するのが嬉しいのに
とか言っているのに、使わない部分も含めてインターフェイスを制限する変数の型制限を有難がるのは笑いどころでしょうか?
「変数の型を固定して、コーダーの想定外の動きをしないように限定する」なら、そういう考えをもあるよね、となるけど。
変数の型を必要最低限の小さいインタフェースで宣言するのが嬉しいのに
とか言っているのに、使わない部分も含めてインターフェイスを制限する変数の型制限を有難がるのは笑いどころでしょうか?
「変数の型を固定して、コーダーの想定外の動きをしないように限定する」なら、そういう考えをもあるよね、となるけど。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
