タグ

cとpythonに関するTokyoIncidentsのブックマーク (2)

  • C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク) - しんちゃんの日記

    前回の記事が一応の決着を見せたので、次に行こうと思います。 私が思ったよりもHaskellがずっと速かったようで、Haskellは実用的な言語ではないと言う風潮を払拭すると言う目標の前途は明るそうで何よりです。 さて、今回のお題はファイルを読み込んで、行毎に数字を割り振っていくナンバリング処理です。 Linux等のUNIX系OSではcatと呼ばれる便利なコマンドでファイルの中身を表示するだけでなく、オプションで指定すればナンバリングも出来る訳ですが、Windowsでのcatコマンドに対応するtypeコマンドは、ファイルの内容を表示する以外の機能を持ちません。 そこで、numberingコマンドを作ってしまえ!と言うのがHaskellでこのコマンドを作った発端なのですが、ついでにこの間の言語でも作ってみました。 そして、今日はmethaneさんから教えて頂いたスーパーpre記法とやらを使って

    C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク) - しんちゃんの日記
  • C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク) - しんちゃんの日記

    「Haskell入門以前」のネタバレになってしまいますが、[ [1,2,3],[4,5,6],[7,8,9] ]を受け取って、各要素を反転させた[ [3,2,1],[6,5,4],[9,8,7] ]を受け取り、その最後尾の要素の最後尾(このデータでは7)を表示する処理を作り、なるべく大きなデータを渡して実行時間を計測してみました。 (自分のPCでは4000x4000のデータを渡してます) Haskellのコードは他の言語のコードとは全く違う発想で書かれています。どうして同じ結果になるかを考えてみたりすると関数型言語と手続き型言語の違いに気付くかも知れません。 (この辺が「Haskell入門以前」のネタバレ。気付けなかったら、「Haskell入門以前」と言う電子書籍がブクログのパブーより出てますので、読んでみて下さい) まずは、各言語のコードを書きます。 C言語 #include #incl

    C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク) - しんちゃんの日記
  • 1