2007年04月17日(Tue) 寝坊した上に朝飯前のベンチマーク [長年日記]
● ベンチマークをスワップにぶちまげる
昨日、配列の要素に「===」で一致するものがあるか調べるメソッドをeachで実装したところ、okujiさんから any? もあるよ、ツッコミをいただきました。
で、速度の比較。最初は実データを扱わせてプロファイラで速度を見ようと思ったのですが、実データは高々5個くらいの配列を延々と検査するもので差が出そうにありません。もっとたくさんの要素の配列の最期に条件に合うものがあるような配列をつくってベンチマークを取ることにしました。
…で朝ご飯を食べながら手元のノートPCでやってみたのですが、実メモリ512MBにおさまるくらいの大きさの配列では差は出ず、要素数を10倍したらスワップにあふれて大変なことに。お皿を洗い終わってもごりごりやってました。
あ、配列の要素の文字数を減らせばいいんだ。
● [Ruby] eachとany?ではeachの方が少しだけ早い
そういうわけで、職場のデスクトップであらためて。ベンチマークにつかったスクリプト match.rb は下記のようなものです。
まず常用デスクトップ
オモコンマシン
へえぇ。eachの方が少し早いのですね。不思議。
それはそうと、Enumerableのメソッドを自分で実装してみるなんて、僕も勉強会に出たかったっす。かずひこさん
● これまでの出入国の記録を探す。この日誌の目的のひとつはこのためなんだけど、それにしても時間がかかった。昼休みが終わっちまったよ。
● 缶を開けたらコーラがあふれた。
最近のツッコまれどころ