NSSetとライフゲームの続き [プログラミング - NSSetとライフゲーム]
昨日、棚卸しをしたライフゲームに関しては「もうやらない」と書いたけど、そのあとそのコードを見ていて思い直した。
もうほとんど3年前のコードだけど、見ているといくつか気になることができてしまった。ちょっとだけと思いながらいじっていると、きりがなくなって書き直すことになってしまった。今日はこれで一日終わった。しかし、ひさしぶりに丸一日集中した。
気になることはいくつかある。まず、当時やったNSSetの要素の同一性確認の効率を高めるためのHash関数の実装は、一般的にはこれはあまりよくない。あのころは気がついてなかったんだな。それに、最後のところで効率を上げるために「隣のセルをお互い保持する」と言う方法がある、と宣言しているがそれには問題がある。また、いくら原理確認ができればいいとはいえ、公開するならもうちょっと親切なアプリにすべきである。
なんて考えながら、その「隣のセルを保持する」でどのくらい速くできるのか、と思ってそのコード書き始めた。当然お互いに保持しあうのでいわゆるリテインループになってしまって、ひとつのセルも死なない、ということになってしまう。それをなんとかしないといけない。
どうせなら、あんないい加減な原理確認用アプリではなくて、ちゃんとしたドキュメントスタイルにしよう、とか思っていると今日一日が終わってしまった。
いまデバグしてる。今のところいきなりクラッシュするけど、わははは、まあこれはいつもの通りで、明日一日で仕上げよう、どこが悪いんだか全然わからんけど。バグがとれなかったらしれ、っとつぎの話題に移ることにする。明日のエントリをごろじろ...
もうほとんど3年前のコードだけど、見ているといくつか気になることができてしまった。ちょっとだけと思いながらいじっていると、きりがなくなって書き直すことになってしまった。今日はこれで一日終わった。しかし、ひさしぶりに丸一日集中した。
気になることはいくつかある。まず、当時やったNSSetの要素の同一性確認の効率を高めるためのHash関数の実装は、一般的にはこれはあまりよくない。あのころは気がついてなかったんだな。それに、最後のところで効率を上げるために「隣のセルをお互い保持する」と言う方法がある、と宣言しているがそれには問題がある。また、いくら原理確認ができればいいとはいえ、公開するならもうちょっと親切なアプリにすべきである。
なんて考えながら、その「隣のセルを保持する」でどのくらい速くできるのか、と思ってそのコード書き始めた。当然お互いに保持しあうのでいわゆるリテインループになってしまって、ひとつのセルも死なない、ということになってしまう。それをなんとかしないといけない。
どうせなら、あんないい加減な原理確認用アプリではなくて、ちゃんとしたドキュメントスタイルにしよう、とか思っていると今日一日が終わってしまった。
いまデバグしてる。今のところいきなりクラッシュするけど、わははは、まあこれはいつもの通りで、明日一日で仕上げよう、どこが悪いんだか全然わからんけど。バグがとれなかったらしれ、っとつぎの話題に移ることにする。明日のエントリをごろじろ...
2010-10-23 20:31
nice!(0)
コメント(0)
トラックバック(0)
コメント 0