タグ

tuningとalgorithmに関するnsyeeのブックマーク (3)

  • Haskell vs F# その後 - Life Goes On

    mkotha さんに直してもらったりして、Haskellのコードはだいぶ速くなりました。どうも2重ループの内側がボトルネックのようなので、そこを展開して、データ構造も変えて、UNPACKプラグマは効くので残して、正格評価を1ヶ所だけ。性能と可読性のバランスがそこそことれたかなと思ってます。C++ や F# のコードにも同じような改修を加えたら、Haskell はまた抜かれてしまいました。まぁでも、目くじら立てるほどの差でもないので、そのままにしています。 実行環境が Windows というアドバンテージがあるとはいえ、C++ も超える F# の健闘が光ります。明示的な副作用がない関数プログラミングでこれだけ速いとうれしい。コード書いてても気持ちがいいし、Microsoft でなければもっと流行っていいはず。 最終形のコードを以下に載せておきます。 ついでに Scala でも書いてみました。

    Haskell vs F# その後 - Life Goes On
  • チームラボ天下一武道会 - 純粋関数型雑記帳

    チームラボ天下一武道会 ~コードGolf & F1レース!~ : ATND に参加してきました。普段Java使っていないのでどうなるかと思いましたが、なんとか優勝することができました。 問題は、ユーザデータと商品の購入データが与えられるので、全商品間のコサイン類似度を求めよというものでした。入力は <ユーザID>,<商品ID> のCSVで与えられ、出力は商品ID×商品IDの二次元配列をCSVで出します。購入データは1万件、ユーザ数は1000以下、商品数は500以下という制限です。 順位は、実行時間によるスコアとバイトコードのサイズによるスコアの和によって付けられます。それぞれ50点満点で、実行時間は 10秒 (50点) 60秒 (0点) バイトコードのサイズは、 1Kbyte (50点) 6Kbyte (0点) を基準として、線形補完されて決まります。50点満点ですが、基準値を超えた場合は

    チームラボ天下一武道会 - 純粋関数型雑記帳
  • 502 Bad Gateway

    502 Bad Gateway nginx

  • 1