デバッグ

ソフトウェア開発と言えば、切っても切れないものがデバッグ。これが実に楽しい。これが、苦痛だと思ってしまう人は、この業界人にはなれない。デバッグも大詰めを迎えてくると、性能向上とか再現性のなかなかないバグとかが多くなってくる。これの真の原因を究明したときのオチというのに痛快なものが多い。本当に楽しい。ただし、もちろん疲れ果てる。
このところ分かった面白い現象は、適当にsleep()を入れてあげることで逆に速くなる。あるいはアプリが落ちなくなる。その理由というのがなかなかふるっていて、アプリがCPUを捕まえたままになると、逆にOS側が危機感を覚えて色んなものを殺しにかかるから、というような理由らしい。はっきり言って説明がよく分からなかった。あと、性能向上のため、明示的にGCを入れたところ逆に遅くなっていた。あと、これは当たり前だけど、newしまくりはダメで、必要なオブジェクトを必要な分だけ使いまわす。これでGC自体が押さえられるので、リアルタイム性が増す。