2004-03-01 [長年日記]
λ. objectpool-0.1.0
とあるコードで、オブジェクトを再利用してGCを減らすために、むとうさんのObjectPoolを使ってみて、
- ObjectPool#releaseが(オブジェクトの比較を「==」で行う)Array#indexを使っているので、等しいオブジェクトがあるとまずいことになりそう
- ObjectPool#get_object_from_objectpoolの途中でTimeoutErrorに割り込まれるとまずいことになりそう
- ObjectPool#releaseが一時的な配列オブジェクトを作るので、GCがあまり減らなそう
- ObjectPool#releaseとObjectPool#get_object_from_objectpoolで、配列を線形探索してる
という点が気になったので書き換えてみた(objectpool.rb)。TimeoutErrorに割り込ませないために、Thread.exclusive{ ... } を使ってみたんだが、関係ないスレッドも止めちゃうのはちょっとやりすぎだな。(つーか、ちゃんとConditionVariableでも使え > オレ)
[追記] というわけで、ConditionVariableを使うようにしてみた(objectpool-2.rb)。timeoutするConditionVariable#waitが無いので、timeout{ ... } 内でConditionVariable#waitしてみたのだけど、これって正しい使い方?2004-03-03 [長年日記]
λ. tDiaryを1.5.6にあげようと思ったのだけど、pstoreio.rbでエラーになったので、あっさり諦める。やっぱり2.0が出るのを待とうっと。
λ. Re: ObjectPool by さかいさん
えぇと、単に必要があったから書き換えただけで、継続的にメンテナンスする意思はないです。オブジェクトのプールはそれほど興味のあるテーマでもないので。
λ. 萌える弾幕STG もえだん
「萌える弾幕STG・もえだん」は、2次元弾幕少女(紅月ふらん・495歳)が弾幕勉強をナビゲートしてくれる 従来にはなかった新しい弾幕学習ゲームです。
「乙UN君」ってのに笑ったYO。萌へ萌へ日記(違)2004/03/01(月) より。
λ. Re: GNU Parted
わざわざParted専用のブートディスクを作らなくても、Knoppix辺りのCDにはPartedも入っていたと思うので、これを使ってしまうのが便利です。
2004-03-04 [長年日記]
λ. 借りた本
- 『アリソン』
- 時雨沢恵一[著] 黒星紅白[イラスト]
- 『クリスティーン 上』
- スティーヴン キング (Stephen King) [著], 深町 眞理子 [訳]
- 小説すばる 2003年8月号
- -
- 『ホーキングとペンローズが語る時空の本質—ブラックホールから量子宇宙論へ』
- スティーヴン・ホーキング(Stephen Hawking), ロジャー・ペンローズ(Roger Penrose) [著], 林 一 [訳]
- 『ホロコーストの真実 上』
- デボラ・E・リップシュタット(Deborah E. Lipstadt)[著] 滝川 義人 [訳]
2004-03-09 [長年日記]
λ. 借りた本
- 『アリソン』
- 時雨沢 恵一 [著]
- 『「無限」に魅入られた天才数学者たち』
- アミール・D・アクゼル(Amir D. Aczel)[著], 青木 薫 [訳]
- 小説すばる 2003年9月号
- -
- 『クリスティーン 下』
- スティーヴン キング (Stephen King) [著], 深町 眞理子 [訳]
- 『経済記事を読みこなす基礎知識』
- 原田 泰 [著]
2004-03-10 [長年日記]
λ. 紅魔狂初クリア
つーか、妹様強すぎ。QED「495年の波紋」までたどり着いたときに残機0だったので、ちょー緊張した。169567750点。th6_udsa02.rpy
2004-03-18 [長年日記]
λ. ここのところ気分が沈んでいて、やる気無くだらだらしてます。本当にいろいろごめんなさい、ごめんなさい m(_ _)m
λ. プリンタ壊れたっぽい。
λ. CPL
気晴らしに、以前にRubyで実装したCPLの基本部分をHaskellで書き直して、GHCでコンパイルしてみる。そしたら、ちょー速くなった。アッカーマン関数 ack(3,3) の計算にRuby版だと約20分かかったのが約10秒で済むようになった。単純に書き直したのではなく、Ruby版で失敗した部分を色々と直してしまったので、フェアな比較ではないけど、これほど差がつくとは思わなかった。
また、Haskell版のプロファイルを取ってみると、以下のように、GC時間が7割を占めていた。
424,281,072 bytes allocated in the heap 282,874,424 bytes copied during GC 5,039,736 bytes maximum residency (72 sample(s)) 1610 collections in generation 0 ( 5.68s) 72 collections in generation 1 ( 1.73s) 12 Mb total memory in use INIT time 0.01s ( 0.00s elapsed) MUT time 2.91s ( 3.00s elapsed) GC time 7.42s ( 7.42s elapsed) RP time 0.00s ( 0.00s elapsed) PROF time 0.00s ( 0.00s elapsed) EXIT time 0.00s ( 0.00s elapsed) Total time 10.34s ( 10.42s elapsed) %GC time 71.7% (71.2% elapsed) Alloc rate 145,003,784 bytes per MUT second Productivity 28.1% of total user, 27.9% of total elapsed
λ. 借りた本
- 『わたしは虚夢を月に聴く』
- 上遠野 浩平 [著], 中澤 一登 [イラスト]
- 『教科書が教えない歴史』
- 藤岡 信勝, 自由主義史観研究会 [著]
- 『独裁者の言い分—トーク・オブ・ザ・デビル』
- リッカルド・オリツィオ (Riccardo Orizio) [著], 松田 和也 [訳]
- 『ふたつの近代 — ドイツと日本はどう違うか』
- 望田 幸男 [著]
- 『バトル・ロワイアル・インサイダー』
- 高見 広春, 「バトル・ロワイアル」制作委員会 [監修]
- 小説すばる 2003年10月号
- -
2004-03-24 [長年日記]
λ. 借りた本
- 『熱とはなんだろう—温度・エントロピー・ブラックホール…』
- 竹内 薫 [著]
- 『IMF改廃論争の論点』
- ローレンス・J・マッキラン(Lawrence J. McQuillan), ピーター・C. モントゴメリー(Peter C. Montgomery) [編集], 森川 公隆 [監訳], 木下 智夫, 武田 史子, 寺谷 淳, 花田 朋子, 宮本 佐知子 [訳]
- 『韓国の歴史—国定韓国高等学校歴史教科書』
- 曺 昌淳 (조 창순), 宋 連玉 (송 연옥) [訳]
- 『関数プログラミング』
- R・バード(Richard Bird), P・ワドラー(Philip Wadler) [著], 武市正人, 武市しげ子 [訳]
λ. S女史卒業祝い@新宿土風炉
.
2004-03-28 [長年日記]
λ. gtk2hs-0.9.4
をWindowsマシンにインストールしてみる。FFIのインターフェースが変更されたらしく、GHC-6.2ではそのままではコンパイルが通らず、newForeignPtrの引数の順番の入れ替えと、ForeignPtrToPtrのunsafeForeignPtrToPtrへの置き換えが必要だった。あと、生成されるlocalpackage.confのgtk2のエントリのextra_ld_optsがおかしかったので、["-Wl,--subsystem,windows"]に書き換えた(生成してるのはmk/library.mkなんだけど、こっちはどう直せばいいか良くわからなかった)。
使ってみたところ、とりあえず日本語はちゃんと通るようだ。wxHaskellは(wxhaskell-bin-msw-ghc6.2-0.6-1.zipを試した限りでは)日本語がまともには通らなかったので、とりあえずgtk2hsを使っていこうと思う。
λ. IO#readpartial
[ruby-dev:23247]でIO#readpartialの実装が出てきたので、iconv-ioで試しに使ってみる。うん、確かに便利そうだ。
ψ shelarcy [gtk2hs の記事楽しみにさせてもらいます。 ところで、RHG で言われた通り FOAF を記述しましたので、 h..]
ψ むとぽん [なるほど、勉強になります。]
ψ むとぽん [そのままメンテナンスも引き継ぎません?]