2007-06-10から1日間の記事一覧

飯吹いた

オレオレマージソートの一部 let rec merge_two ls1 ls2 ret = match ls1, ls2 with | x1 :: xs1, x2 :: xs2 -> if (comp x1 x2) then merge_two xs1 ls2 (x1 :: ret) else merge_two ls1 xs2 (x2 :: ret) | ls1, [] -> rev_append ls1 ret | [], ls2 -> rev…

よくわからない夢

夢の中で、Ruiさんからお茶に塩を混ぜたらオレンジジュースの味がするのを教えてもらって飲んだ。更にお茶の量を増やすとクレープフルーツジュースの味になった。

ちょっとだけ最適化

OCamlでひきつづきソーティング。camloptに-pオプションをつけるとgprofでネイティブコードのプロファイリングができるので試してみたら、全体の40%の時間がGC関係のコードに使われていた。リストをガンガン組み換えていく作業が、かなりのゴミを発生させて…

引き続き最適化

String.compare と = だとString.compareのほうが遅いので、同じ値が多い場合は = で比較してからcompareするようにしたら早くなるかな、と思ってコードを書く。すると早くなった!しかし、よくコードを見ていると意図しているアルゴリズムとは別のアルゴリ…