年末は学生と一緒に書いてたんですが、年始からは、自分一人で。本当は学生と一緒にやった方が良いんだろうけど。
年末に壊した Cerium ですが、1/4 には直せました。 Cerium を C++ で書いたのは「まぁ、Cでもないだろう」ぐらいだったんですが、思ったより苦労したかも。
* Thread との相性
* 継承と拡張性の相性
* OO と同期機構の相性
* new のコードが巨大
* interface がない
* virtual が position independent code にならない
とか。
継承を使うと拡張性が悪くなるってな話が Java Kuche でもあったのだけど、直面してみたいとわからんものだよね。
C isa B isa A
C' isa B isa A
の時に、C を拡張すると、B も A も書きなおさないといけない。すると C' も書きなおさなとだめ。上に登って下に降りてくる感じですね。
Semaphore も、末端である C で使おうと思うと、A→B→C と伝搬させて渡さないとだめだったりするので結構楽しいです。同期機構は、一種の大域変数だから、OO的な階層の外にあるからな。
GPUは、もう少し性能出るはずですが、まぁ、だいたいは動いたからいいかな。
No comments:
Post a Comment