C言語

ネットで1000万行のファイルを読み込ませて逆順にしたいとか言うのを(perlで)みたので、Cで1500万行近くまで対応してみた。

やり方としては一回EOFまでfputs回して、ftellで位置情報を配列に記録。 配列の逆から位置情報読み込んでfseekで移動を繰り返す。 記録時間が最初かかるけど、配列の大きさからビビっていたほどはメモリも消費しない。 (1400万行3.1GBの文字ファイルに対し、…

Rubyでlength関数を作るのはどうすれば?

Haskell入門以前を書く時、最初RubyとHaskellでコード比較をしようと思っていて、試にlength関数を両方で作ろうと思って、以下のような関数を作ったのですが、数列はうまく動くのに、文字列を渡すとRubyからeachが無いよ!!と怒られてしまい、Haskellとの純…

C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク)

前回の記事が一応の決着を見せたので、次に行こうと思います。 私が思ったよりもHaskellがずっと速かったようで、Haskellは実用的な言語ではないと言う風潮を払拭すると言う目標の前途は明るそうで何よりです。さて、今回のお題はファイルを読み込んで、行毎…

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)を表示する処理を作り、なるべく大きなデータを渡…