ちょっとだけ優越感

SIerの1年生プログラマと一緒に仕事をする機会があった。
お題は簡単。
2万件ほどのデータから、重複する物を探すプログラムを書くこと。
別にプログラムなど書かなくても、Excelでも可能なのだが、そこはとりあえずプログラマの遊び心ということで。
遊びついでに、言語はお互いに慣れないPythonを選択した。

で、自分は深く考えずに、反射的に、連想配列(Pythonでは辞書型というらしい)を採用。
これに読み込んだ行をがんがんと詰め込んでいけば、キーの重複を簡単かつ高速に調べることができる。

ところで、1年生プログラマは可愛いことに、「どうして普通の配列ではいけないのか?」と尋ねてくる。
そんなことやったら、件数が増えるに従ってどんどん遅くなっていってしまうじゃないかと、言いかけて止めた。
「それは自分で調べることだよ」と、妙に先輩ぶった答えをし、さらに「じゃあ、普通の配列でやったのと、実際に比べてみよう」ということにした。

結果、連想配列を使った場合、0.7秒で実行終了。普通の配列を使うと4秒。
最近のPCはなかなか性能が良いようだ。正直なところ、普通に配列を使って4秒で済むとは思っていなかった。
のだが、とにかく、両者の差は歴然。
素直に驚く1年生がまた可愛かった。

と同時に、反射的に連想配列を使うことを思いついた自分も、なかなか捨てたものではないなと、ちょっとした優越感に浸ったりもしたのだった。

と、ちょっとした遊び心から作ったスクリプトから、この後、色々な実験や発見が相次ぐことになるとは、このとき、自分はまったく想像もしていなかった。

続きはまた後で。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック