トップ 最新 追記

日々の流転


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してみたのだけど、これって正しい使い方?
Tags: ruby
本日のツッコミ(全2件) [ツッコミを入れる]

ψ むとぽん [なるほど、勉強になります。]

ψ むとぽん [そのままメンテナンスも引き継ぎません?]


2004-03-03 [長年日記]

λ. tDiaryを1.5.6にあげようと思ったのだけど、pstoreio.rbでエラーになったので、あっさり諦める。やっぱり2.0が出るのを待とうっと。

λ. Re: ObjectPool by さかいさん

えぇと、単に必要があったから書き換えただけで、継続的にメンテナンスする意思はないです。オブジェクトのプールはそれほど興味のあるテーマでもないので。

Tags: ruby

λ. 萌える弾幕STG もえだん

「萌える弾幕STG・もえだん」は、2次元弾幕少女(紅月ふらん・495歳)が弾幕勉強をナビゲートしてくれる 従来にはなかった新しい弾幕学習ゲームです。

「乙UN君」ってのに笑ったYO。萌へ萌へ日記(違)2004/03/01(月) より。

Tags: 東方

λ. Re: GNU Parted

わざわざParted専用のブートディスクを作らなくても、Knoppix辺りのCDにはPartedも入っていたと思うので、これを使ってしまうのが便利です。

本日のツッコミ(全3件) [ツッコミを入れる]

ψ むとぽん [んじゃ、いただいていいですか?]

ψ さかい [もちろん、いいですよ。]

ψ むとぽん [じゃぁ、ありがたくちょうだいしますね。]



2004-03-06 [長年日記]

λ. 筑波・梅林

● ●

λ. 別春館

● ●

λ. 偕楽園

好文亭は既に閉まっていて見れなかった、残念。
● ● ● ● ● ● ● ● ● ●



2004-03-10 [長年日記]

λ. 紅魔狂初クリア

つーか、妹様強すぎ。QED「495年の波紋」までたどり着いたときに残機0だったので、ちょー緊張した。169567750点。th6_udsa02.rpy

Tags: 東方

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
Tags: haskell CPL

2004-03-24 [長年日記]

λ. 借りた本

『熱とはなんだろう—温度・エントロピー・ブラックホール…』
竹内 薫 [著]
『IMF改廃論争の論点』
ローレンス・J・マッキラン(Lawrence J. McQuillan), ピーター・C. モントゴメリー(Peter C. Montgomery) [編集], 森川 公隆 [監訳], 木下 智夫, 武田 史子, 寺谷 淳, 花田 朋子, 宮本 佐知子 [訳]
『韓国の歴史—国定韓国高等学校歴史教科書』
曺 昌淳 (조 창순), 宋 連玉 (송 연옥) [訳]
『関数プログラミング』
R・バード(Richard Bird), P・ワドラー(Philip Wadler) [著], 武市正人, 武市しげ子 [訳]
Tags:

λ. 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を使っていこうと思う。

Tags: haskell

λ. IO#readpartial

[ruby-dev:23247]でIO#readpartialの実装が出てきたので、iconv-ioで試しに使ってみる。うん、確かに便利そうだ。

Tags: ruby
本日のツッコミ(全1件) [ツッコミを入れる]

ψ shelarcy [gtk2hs の記事楽しみにさせてもらいます。 ところで、RHG で言われた通り FOAF を記述しましたので、 h..]


2004-03-30 [長年日記]

λ. 永夜抄 キタ━━━(゜∀゜)━━━!!!!!

以上。

Tags: 東方

λ. 読書

『ももいろさんご 6』
花見沢 Q太郎 [著]
Tags: