[過去ログ] Rust part15 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
295(7): 2022/05/23(月)19:27 ID:qJLEBqNZ(1) AAS
>>189
おまえら全員そうだがフィボナッチ数列でusize固定はおかしいだろ
コード自体は問題ないが <T: Zero + One + CheckedAdd> を付けろ
あとは0と1をT::zero()とT::one()へ置き換えればi8型からBigUintまで何でも動作するようになる
外部リンク:play.rust-lang.org
さらに今回はfrom_fn()利用をそのままsuccessors()利用へ変換できるので見やすくなる
fn fibonacci_iter<T: Zero + One + CheckedAdd>() -> impl Iterator<Item = T> {
let mut oq = Some(T::one());
iter::successors(Some(T::zero()), move |p| {
let q = oq.take()?;
省10
302: 2022/05/23(月)20:43 ID:4RywOifH(1) AAS
>>295
自分のレスに他人のふりしてレスするキチガイ汚コーダーこと複オジさんちぃーすっ
309: 2022/05/23(月)22:04 ID:gtDJ5U8B(2/3) AAS
ヒント:
Ratio<T> where T: Integer + Clone + CheckedAdd + CheckedMulは>>295の条件を満たす
470(2): 2022/06/05(日)17:53 ID:uQ7Of1B3(1/3) AAS
速度はベンチを取ってから
ユースケースは具体的に示してから
そういうことを主張してください
そして本当に互いのやり方にメリデメがあると認めているのなら、>>295のような他人叩きはやめましょうね
472: 2022/06/05(日)18:50 ID:1ZIcYX0i(2/2) AAS
>>470
その>>295は他人叩きではないだろう
そのアルゴリズムではBigIntで無駄なコピーが発生するというRustで気をつけるべき技術的な問題の指摘にみえる
そして回避コードもきちんと示しているのでそういう書き込みは歓迎
475(5): 2022/06/05(日)22:14 ID:uQ7Of1B3(2/3) AAS
外部リンク:play.rust-lang.org
iter1とiter2は>>295からの引用
Ryzen 7 3700Xで計測
ジェネリクスへのこだわりを捨てればこのくらいは速くできるよ
fib_iter1 time: [7.2754 ms 7.2824 ms 7.2907 ms]
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
fib_iter2 time: [7.8536 ms 7.8678 ms 7.8818 ms]
fib_biguint time: [4.9757 ms 4.9784 ms 4.9812 ms]
省3
483(1): 2022/06/06(月)00:32 ID:m7d3UK5s(1) AAS
イテレータで計測してみたけど
>>295のoption::takeだとcloneしても速度変わらないな
外部リンク:play.rust-lang.org
502(18): 2022/06/06(月)23:15 ID:HuPaBwwV(1) AAS
>>481
1.5倍も差があるのは妙だな
Rustでは最適化されるのでジェネリックで書こうがそんな差は出ないはず
そのベンチマークの仕方がおかしい可能性があるので
ジェネリックか否か、check_addか+か、Option利用か否か、など5つのコードで順に調べてみた
ベンチマーク使用コード
外部リンク:gist.github.com
(1) ジェネリック + checked_add + Option + successors 版: 元の>>295と完全に同じコード
(2) BigUint + checked_add + Option + successors 版: (1)のTをBigUintへ
(3) BigUint + add + Option + successors 版: (2)のchecked_addを'+'へ
省13
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s