タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

遅延評価とソートに関するigrepのブックマーク (1)

  • クイックソート計測大会2 criterionの注意事項 他 - Qiita

    しかし、criterionのエンジンは、計測コードを複数回実行し平均を取る仕組みになっています。そのため、二回目以降はソート済みの配列に対して時間計測を行ってしまっていました。 今回の配列ソートではピボットを中央から取っているため、ソート済みの配列に対しては最大効率になります。つまり前回記事の計測スコアでは、Vector関係は実際より良い数値が出てしまっている事になります。 という訳で、毎回のテストごとに初期化処理を入れるように修正します。 これを行うのは、以下の関数になります。 型を見ればおおよそ使い方が想像できると思いますが、第一引数のIOアクションにより、env型の値を計測外で作成し、それを引数として計測を実施します。 envはNFDataのインスタンスである必要があります。NFDataはseqによく似た、値の簡約を促す関数rnfを公開するクラスです。seqではリスト等の構造に対して

    クイックソート計測大会2 criterionの注意事項 他 - Qiita
    igrep
    igrep 2016/12/28
    “Vector.Algorithms” はやっ!そしてData.List.sortが想像以上に遅くてびっくり。遅延評価との相性を考えてマージソートにしたんだろうか。
  • 1