QiのJSONパーサが遅かった話

https://github.com/wx257osn2/json_parser_test これについてのお話。
0
I @wx257osn2

@sakisaka7 あ、おねがいします。

2013-03-01 18:14:08
さきさか @_n_s_7_

@wx257osn2 以降、何か進展がありましたら、replyなり何なりで私にCCお願いします。

2013-03-01 18:20:27

さきさかさん以外誰も見向きもせず、そのまま数日経過

さきさか @_n_s_7_

QiのJSONパーサーが遅い説の検証をやり始めた

2013-03-05 16:53:22
さきさか @_n_s_7_

プロファイラの実行おせーーーーーーーーーーーーーwwwwwww

2013-03-05 16:54:11
さきさか @_n_s_7_

-O0 + 動的プロファイラの組み合わせはほんと嫌になる

2013-03-05 16:54:29
さきさか @_n_s_7_

関数呼び出しが多いのかなぁ、これうちの画像処理プログラムよりプロファイラが返って来るのが遅いぞ

2013-03-05 16:58:13
I @wx257osn2

-O0でビルドしたの実行したら一向に終わる気配見せない

2013-03-05 17:04:59
さきさか @_n_s_7_

@wx257osn2 ヤバイやっぱりQiは実装探るの難しいかも

2013-03-05 17:06:26
I @wx257osn2

@sakisaka7 んー、ですか… Qi自体が遅いのか、VariantやAnyが遅いのか、パーサの実装が遅いのか、どこが悪いかさっぱりですね…

2013-03-05 17:07:56
さきさか @_n_s_7_

@wx257osn2 まぁとりあえず入力データ減らしてやってみます……

2013-03-05 17:09:48
I @wx257osn2

@sakisaka7 はい ちなみに入力データ1件の時でもやっぱりQiだけ桁一つ違ったんですよね

2013-03-05 17:10:50
I @wx257osn2

-O0でやったらQi9700弱になった やばい

2013-03-05 17:13:24

clock()の差で計測した実行時間
同じ条件で行った場合、
rapidjsonだと104
picojsonでも275
となるため、最適化をかけないとその差は最早絶望的

さきさか @_n_s_7_

@wx257osn2 うーん一応、パーサ自動生成だと最適化に限界がある説を仮設として立てておきます

2013-03-05 17:13:33
I @wx257osn2

まぁ、QiはC++の構文で書けるのが売り、ということなのかな

2013-03-05 17:14:08
さきさか @_n_s_7_

ほんとに信じられないくらい遅いな、なんだこれ

2013-03-05 17:14:25
I @wx257osn2

最適化なしだと使いものにならない

2013-03-05 17:14:39
I @wx257osn2

というか、GCCの最適化怖いんだけど 何倍だよ

2013-03-05 17:15:15
さきさか @_n_s_7_

O0でこんな遅いってことはデバッグビルド出来ないってことになって、要するに実運用で使えないってことじゃんそんな馬鹿な

2013-03-05 17:17:09