2012年6月の日記


2012/06/30

#1 今日のサイクリング

最近体調が悪いので、間が開いた上に短め。箕面→池田で60.1km。今年は涼しい日が多かったと思うけど、さすがに暑くなってきた。夕方から雨の予報だったけど、13時過ぎには降り始めた。早めに走ってきたのでセーフ。

今日は車道を走行中、突然横の歩道から原付が発車しつつ車道に飛び出てきてぶつかるところだったけど急ブレーキで何とか回避。ちゃんと車道見てから出てこいよ・・この人絶対そのうち事故るよ。

2012/06/10

#1 perlの文字列置換

GPS地図作成でサーカムフレックスとマクロンを除去してASCIIに変換するためにperlスクリプト(Active perl)を使ってるんだけど、ここに予想以上に時間がかかっているようで、perlのCPU利用率が大半を占めてる。毎回これにかなりの時間を食われてるのはもったいないので調査した。結果、正規表現を使った置換が原因のようだ。

s/[ÂĀ]/A/g;

となっていた部分を

s/Â/A/g;
s/Ā/A/g;

のように正規表現を使わないように書き換えたら明らかに速度が改善した。あるファイル1つの処理について軽く時間測定した感じでは、kakasiなども合計した元の変換全体が17.77秒、今回のperlスクリプトなしの場合は7.39秒、正規表現なしのperlに置き換えた場合は8.18秒。ということで、今回のスクリプト部分に限定すれば10倍ぐらい速くなってる。スクリプトの見た目は行数が増えて人間には読みにくくなるけど、これだけ差が出るなら置き換えることにする。今回のファイルは全データのうち1/500ぐらいのデータ量なので、全体だと1.3時間ぐらいは短縮しそうだ。

ただ、個人的には、これぐらいperl側の最適化で勝手に展開して高速化してくれよ、と思ってしまうんだけど、無理なのかな。

2012/06/07

#1 Srtm2Osmの座標補正機能

GPS地図作成の等高線データ生成用に使ってるSrtm2Osm、南西方向の座標ズレを補正する機能(corrxyオプション)があるんだけど、なぜかこれで北東方向に補正した特定エリアの等高線を作ると、北端と東端の等高線が0mになってしまうことがあるようだ。必ず起きるわけでもなさそうなので、バグ修正依頼は後にして、とりあえず自分用は補正なしで一旦データを作った後、Perlスクリプトで位置データを置き換えることで対処。

2012/06/06

#1 金星の日面通過

先日の日食に続いて、今日は金星が太陽の手前を通るらしい。今日は天気が良かったので日食メガネで見てみたら、なんとなく黒い点が見えたような気がした。小さすぎ。


count: [an error occurred while processing this directive]

ごみ的ページ。のインデックスに戻る