ページ

2012年9月6日

あすなろブログのコンテンツの移動をやってみた

あすなろブログが閉鎖されて久しいです。年内は閲覧はできるようですが…。そこで書きためたもの(CSVのファイル?)をもらって、ここに移行しようと思って放置して、早数カ月。このままだと、忘れ去られると思って、インポートしました。「CSVファイル?」って書いているのは、csvって拡張子が付いているけど、フォーマットがcsvじゃないんです。まあ、なんでもいいんだけどね。

とりあえずは、ファイルでCATEGORYが101_XXXのように「数字_」で始まっていてキモいので、そこは cat my.csv | sed -e "s/CATEGORY: [0-9]*_/CATEGORY: /" > out.csv として置き換えます。ついでに「その他(ライフ)」とかっていうのもあるので、これらも「ライフ」みたいな感じで置き換えです。CATEGORYはbloggerではタグに置き換えられるようです。Movable Typeのタグは僕は使っていなかったので、それらがどうなるかは知りません。

カテゴリを置き換えたら、movabletype2bloggerで変換します。1Mバイトのファイルまでしか変換できないので、適当な大きさにファイルを分割してからです。変換をかけてから、bloggerにインポートします。「インポートしたものを公開」にチェックしているはずなのに、インポートしただけだと公開されなかったので、UIから公開させます。

これで終わり。


残り作業は写真とかの画像の付け替えです。コメントやトラックバックはあっさり捨て去ります。


でわでわ

2012年9月3日

semaphoreのコスト

気になることがあって、semaphoreのコストがどれくらいあるのか、調べて見ました。サンプルコードは、githubにあります。やっていることはjava.util.concurrent.Semaphoreでacquire/releaseをループでぐるぐる回しているだけです。Semaphoreは順序付き実行と順序なしで実行しています。めんどかったので、計測は秒で、/usr/bin/timeコマンドで測った結果なので、プロセスの起動とかのオーバーヘッドはありますが、気にしないでください。結果は次のとおり。


回数 semaphoreあり/順序付き semaphoreあり/順序なし semaphoreなし     
1 0.05 0.05 0.05
10 0.05 0.05 0.04
100 0.07 0.06 0.04
1000 0.08 0.07 0.06
10000 0.25 0.20 0.07
100000 53.69 1.58 0.06

という結果になりました。semaphoreなしの方は、単なる参考までに。順序なしのほうは、順序ありにくらべて10000回ぐらいまでは誤差の範囲内でパフォーマンスはほとんど変わらないです。10000回ぐらいから順序の有無にかかわらず急激に悪化しますが、順序付きのほうが顕著に悪化します。当たり前か。

で、気になっていたことですが、semaphore を入れるとパフォーマンスがかなり落ちたんですが、上の結果からすると semaphore を激しく使わなければsemaphoreのオーバーヘッドはほとんどなさそうということです。で、実際のコードはそんなに激しくsemaphoreを使っているわけじゃないので、謎は謎のままです。