「ぎょーむ日誌」目次に戻る
|
KuboWeb top に戻る
|
twilog
|
atom
ぎょーむ日誌 2001-09-09
苦情・お叱りは, たいへんお手数かけて恐縮ですが, 久保 (
kubo@ees.hokudai.ac.jp
) までお知らせください.
本日
(
kubolog20010909
) |
次の日
|
1 日前
|
7 日前
|
31 日前
|
365 日前
|
top
2001 年 09 月 09 日 (日)
0920 起床. うう.
…… 時刻はすでに 2225. 今日も一日プログラミングで終った. かなり厳しい週末であった. 明日以降にそなえるという口実で, そろそろ切り上げようかな. 既知のバグはすべて掃討. そうだ. これ以上いじるとまた新しいバグが混入する. 本日のぎょーむここまで. 撤収.
外に出る. なんだか台風が近くを徘徊してたらしい. 少し雨がぱらついてるか? 京急大森町横の TSUTAYA で本などながめて, マルエツで食料調達. 明日の米が無いのである. しかし金も無い. 逡巡したあげく 2Kg 850 円オーストラリア産 コシヒカリなど買う. いつもは効率を重視して 10Kg 買いするんだけど.
ふらふら歩いて帰宅するとこわばっていた身体が 少しほぐれたような気がする. 今日は 12 時間以上座りっぱなしだったなぁ.
ここ二日間やったことを簡単にメモしておく. 今回の改造作業で狙っていたのは高速化であった. 新ライブラリの 「精密ですけーらぶるな三次元計算」 とやらのお題目もけっこーですが, とにかく元祖 PipeTree などに比べて三次元計算が遅すぎる. 残り時間だってあまり無いんだ.
ということで, 三次元虚業ライブラリの内部を大幅に直し, それに伴う必然として悪夢のごときバグが大量発生したので そいつらとひたすらに乱闘に明け暮れてたのである. 「痛みを伴う構造改革」とはこのことか? 頭くらくら体ばきばき.
土曜日の午前の時点で, 三次元区画の大きさを一辺 25cm にとって 6 年間の樹木成長をシミュレイトすると, なんと 160 秒もかかった. これを速くするには, そこで区画の大きさを縮めてみればよい.
区画一辺 25cm
160 秒
区画一辺 20cm
90 秒
区画一辺 12.5cm
37 秒
…… というふうに, 結果は同じままに このように計算速度を改善することができる.
じゃあ, 最初からそうすればいいじゃん …… と思うだろうが, 改造前のライブラリでは区画を細かくすると メモリをどか食いする構造になっていたのである. たとえば 25cm 区画に比べると 12.5cm のものは じつに 8 倍も場所をとる.
このあたりを過去 2 年間にわたって研鑽してきた メモリ貧乏使いのワザを駆使して解決しようとしていた …… いまから思えば気の遠くなるような試行錯誤の結果, 今日の夕方ごろには ……
区画一辺 12.5cm
22 秒
…… と速度的にはそれほど改善されていないんだが …… 実行時のメモリ使用量が 自分でも驚くほど激減してしまった. これけっこうすごい. 計算精度は改造前の程度を維持してるんだよ. 128MB しか積んでいない外づけ計算機 Mate でも よゆーしゃくしゃく. 10 年生ぐらいだと 30MB も使ってないのか?
まぁ, 最終的には 10-20 本ぐらいの 樹木をまとめて計算せんといかんのだけど, この改装によってよーやく光明が見えた, というかんぢだ. ホント昨日の時点ではどうしようかと思ってたよ. 320MB 搭載の独房内 BookPC でも単木 10 年シミュレイションできなかったからなぁ. 8 年ぐらいで core げろげろ吐いて勝手に終了してた.
だいたい推測がつくと思うけど, 昨日の午前中まではこういった三次元区画は文字どーり 三次元配列というようなデータ構造になっていた. これは計算に必要ないところまでメモリを食ってしまう. で, 改良版についてはいまは必要なところだけ区画ぶんの 資源を確保するようにしている.
あと, 他のオブジェクトと共有できる資源は共有する, というような貧乏使いまわしやったり.
とりあえず計算はちんたら遅いままだけど (時間がたつにつれ枝の本数はバクハツ的に増え, 一年ぶんの成長を計算するのに必要な時間がどんどん長くなる), メモリ食わないってことはいいことだ.
paging
なるハードディスク上の仮想メモリへの 書きこみが生じなくなるからである. いま動作試験してるより大きな規模の計算やらせるときでも, これによって速度がかなりかせげるはずだ. ああいうスワップが「ごりごり」発生し始めると (実際に HDD がそういう音をたてる) いきなり速度ががた落ちするもんね.
ちなみに初代 PipeTree では このあたりはどうしようもなかったので, 樹木集団の計算やるときは, かなり精度を落していた. 今回はまだそこまでは追いつめられていない.
以前よりは不安なく三次元計算できるようになったので, 成長を制御しているサブモデルやパラメーターの調節に ふたたび取り組んでみる. どうも甲山さんパラメーターだと成長がよすぎるんだよね. ちょっと生産力を落してみても ……
[こみこみ]
まぁ,単木的な状況だから, こういうふうになるのかもしれんが, 下のほうはもうちょっと仲間殺しによる 枯れ上りが生じてもよさそうなんだが.
ということで, 樹木内格差をかなりきつくつけ 「富めるものはますます富み, 貧しきはいよいよ貧しく」 と悪しき資本主義的なルールにしてみると ……
[今度はやりすぎか?]
しかしこれぐらい死んでくれると 計算はラクですな.
…… というふうに明日からは試行錯誤をしなければならない. 隠れていたバグがのそのそと出てきたり, また新しいバグを「創作」してしまったり …… ちなみに出発まであと 16 日である. ふう.
カラダあちこち痛い. 寝る前にストレッチやろう. うだうだとこんなもの書いてたせいで, 時刻はすでに 2425.
今日の食卓
朝 (0950): 蕎麦.
昼 (1530): 米 0.7 合. ツルムラサキおひたし. キムチの素味.
晩 (2130): 米 0.7 合. オクラとシイタケを茹でて細かく切って混ぜたもの. 麺つゆ味.
本日
(
kubolog20010909
) |
次の日
|
1 日前
|
7 日前
|
31 日前
|
365 日前
|
top
KuboLog
|
KuboWeb