[過去ログ] Qiita 5 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
789: デフォルトの名無しさん [sage] 2024/11/24(日) 20:29:38.71 ID:Uwrnw/3F(1/2) AAS
>>778
778(2): デフォルトの名無しさん [] 2024/11/22(金) 00:44:12.61 ID:iUXVzsPN(1/3) AAS
先生の昔の記事

ZEAM開発ログ番外編: Elixir で再帰とStreamのどちらが速いのか,素因数分解で比較してみた
外部リンク:qiita.com
> @zacky1972 による Stream 版その1で,次のような方針を採っています。
> 最初にエラトステネスの篩(sieve)により素数を生成。ただし最初から2と奇数に絞っている。

> def sieve(seq) do
> Stream.unfold(seq, fn s ->
> p = s |> Enum.at(0)
> next = s |> Stream.filter(fn x -> rem(x, p) != 0 end)
> {p, next}
> end)
> end

> 素数の無限数列を生成するために,エラトステネスの篩 (sieve) は @naoya@github さんの「無限リストによるエラトステネスのふるい」を採用しました。

「先生!エラトステネスの篩には剰余計算要らないんですよ」って誰か言ってやらんのか?
Elixir界隈は馬鹿の連鎖が深刻だな。

> 今回評価したのは次の5つです。
>
> FactRecursive1: @sym_num さんのオリジナル: factor と compress 両方で再帰呼び出しを使用
> FactRecursive2: @sym_num さんの改造版: factor は再帰呼び出し,compress は Enum を使用
> FactStream1: @zacky1972 による Stream 版その1: 最初に素数を生成して余りが0のものをピックアップ。ただし互除法を採用せずに元の数を割らない
> FactStream2: @zacky1972 による Stream 版その2: 2と奇数からなる数列を生成して余りが0のものをピックアップした後で,エラトステネスの篩にかける。互除法を採用せずに元の数を割らない
> FactStream3: @zacky1972 による Stream 版その3: 2と奇数からなる数列を生成して余りが0のものをピックアップして互除法により元の数を割り,探索範囲を絞り込む

表題に「ZEAM開発ログ番外編: Elixir で再帰とStreamのどちらが速いのか,素因数分解で比較してみた」とあるので繰り返し方法の違いによるパフォーマンス比較と思いきや先生のFactStream1〜3は違うことやっとるのなw

これでいいね10もついて誰も突っ込んでないのElixir界隈の闇を感じるわw
790: デフォルトの名無しさん [sage] 2024/11/24(日) 21:11:24.94 ID:Uwrnw/3F(2/2) AAS
> FactStream1
> @zacky1972 による Stream 版その1で,次のような方針を採っています。
>
> 最初にエラトステネスの篩(sieve)により素数を生成。ただし最初から2と奇数に絞っている。

素数リスト生成するのは試し割りの回数を減らしたいのだと思うが、エラトステネスの篩と言いつつ剰余計算で素数判定してるのは馬鹿としか言いようがない。

こういう知識の人が

地球温暖化とコンピュータのエネルギー消費の問題にElixirで立ち向かう〜「コンピュータと地球温暖化は
決して無縁ではない」(2022年版)
外部リンク:qiita.com

とか言ってんのはマジ有害だと思う。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s