[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

Perlとfirstに関するlesamoureusesのブックマーク (2)

  • List::Util::firstは遅い - Islands in the byte stream (legacy)

    (追記:この用途ではList::Util::firstを使うのは誤りで,List::MoreUtils::anyが意図されたコードです。効率についての結論は変わりません) List::Util::first{expr}は組み込みのgrep{expr}に似ているが,exprが最初に真になった段階でその値を返すので,grep{expr}よりも効率がいいと説明されることが多い。しかし,実際にベンチマークを取ってみると,多くの場合grep{expr}より遅い。最初の要素が真になるというfirst{expr}にとって最適な条件でさえ,要素数が40を越えたあたりでようやくgrep{expr}とほぼ同程度の速度になる。したがって,List::Util::first{expr}が効果的なケースはそれほど多くないと思われる。 また,もし単なる文字列の検索でよく,その検索をプログラム中で繰り返すならば,gre

    List::Util::firstは遅い - Islands in the byte stream (legacy)
    lesamoureuses
    lesamoureuses 2009/01/26
    いつも好んでfirst使ってたのに!
  • perl - 勝手に添削^2 - loop control : 404 Blog Not Found

    2007年04月19日04:15 カテゴリLightweight Languages perl - 勝手に添削^2 - loop control 他にもつっこみどころはあるのですが今回は、loop controlに的を絞って。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ここギコ!: 安易なループは慎むべきですね jnaoyaのはてな日記 - 添削その2 [H.Iさんのコメントを受け加筆訂正アリ] まずは、DCONWAY先生の一言から。Loopに関する黄金則です。Perl以外でも有効。 Reject As many iterations as possible, as early as possible. 繰り返しは排除せよ、それもなるべく早い段階で 以下をご覧下さい。 jnaoyaのはてな日記 - 添削その2 while (m

    perl - 勝手に添削^2 - loop control : 404 Blog Not Found
    lesamoureuses
    lesamoureuses 2008/08/25
    探してたドンピシャなのがあった。List::MoreUtils qw( firstidx );の間違いだけど。>さらにここで欲しいのは「要件を満たすリスト中の最初の要素のインデックス」なのでList::Util::firstidx()がドンピシャリです。
  • 1