つれづれ日記 2012年10月

予定

毎日


2012年10月17日 (水曜日)

07:15:21 # Life perf record でのコールグラフをC++でみてみる。 どうもomit frame pointer に対応していないっぽい。 amd64. -O0 だとコールグラフがでるけど-O2 だと出ないのでこれかなと思って -fno-omit-frame-pointerをつけるとコールグラフが出た。 spiritとか使っててファンクションオブジェクトとかテンプレートとか使いまくっているとインライン展開されるのでコールグラフに記録されないコードパスがありすぎて辛い。 -O1くらいだとソースコードと対応がとれている感じになる。 あと、テンプレート使いまくっているとテンプレートのパラメータがどれかという情報の途中で文字列の制限がくるっぽくてつらい。たとえば std::_Hashtable<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >, std::pair<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const, int>, std::allocator<st d::pair<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const, int> >, std::_Select1st<std::pair<boost:: iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const, int> >, RangeEqualTo<boostgoogle-perftoolsのC++コードをうまく扱ってくれる具合と比べると雲泥の差。

2012年10月14日 (日曜日)

11:23:25 # Life mtp deviceをマウントしてみる。 fuseのファイルシステムがあるので、それをつかうのが楽かな? 若干癖があるようで、mv できないっぽい。本当か?あとなんかファイルシステム操作がブロックするっぽい。あとファイルのタイムスタンプが全部1970年。 go-mtpfs と gvfs のmtpがあるっぽい。ブログ記事。悩ましいところ。

$ mtpfs ~/mnt/nexus7
$ df ~/mnt/nexus7/
Filesystem     1K-blocks    Used Available Use% Mounted on
mtpfs           14005168 1868209  12136959  14% /home/dancer/mnt/nexus7
	

13:56:28 # Life nexus 7 でうごくコーデック。 なんかパラメータがたくさんありすぎるので試行錯誤しまくり。 結局 webmに変換するのが一番パラメータが少なくてよかった気がする。 しかしシングルスレッドで動いているっぽくてせっかく4コアのマシンでエンコードしてもリアルタイムくらい遅い。 mtp なんか処理の完了が異様に速いのだけど、どういうしくみになってるんだろう。USB2.0とは思えない速度。

avconv -i filename.avi filename.webm
	

2012年10月10日 (水曜日)

06:22:57 # Life 随分長い間悩んだけどMacBook AirのF10とF11がどこで奪われていたのかやっと発見した。 mouseemuパッケージが uinput (デバイスドライバからの信号を仲介するかんじ)レイヤーでフックしていたようだ。 xev ではマウスのクリックしか検出されないのでどうもデバイスドライバレベルでやってるっぽいけど /proc/sys/dev/mac_hid/ では設定されていないのでなんでだろうと疑問に思っていたのだった。

2012年10月2日 (火曜日)

07:30:58 # Life boost spirit と戯れる毎日。 istream_iterator 経由でパースしたらコードが綺麗になるんじゃないかと一瞬思ったけど実際問題一文字づつ読み込む系のコードになるっぽくて壮絶に遅かった。 27MBのテキストファイル(Packages ファイル)を読み込んでイテレートするだけで4秒とか。 mmapして処理した場合は他の処理もいれても0.5秒もかからないのでこれはないなぁ。


Junichi Uekawa

$Id: 201210.html.ja,v 1.6 2012/10/16 22:47:52 dancer Exp $