よく考えたら、SRCはインタプリタだった。
コンパイラを書いたことはあるけど、インタプリタは無い……。
鶫のソースに触れてみようと思ったけど、インタプリタのノウハウが全くなくて最初からつまずいた。
でも、インタプリタって結局自分が解釈可能な(コンパイラでいう)バイナリを吐くだけなのかな。
lunacithm
2010/06/13
気になったエラー
鶫をビルドしてるときに気になったエラー。
初期化リストについて、VCだと以下のようなコードでコンパイルエラーになった。
VC10でエラーになるのはまあいいとして、VC9 SP1でもエラーになった。
鶫のオンラインマニュアルを見ると開発環境はVC9のようだけど、さてはて。
エラーを再現する最小のコードとして以下のコードを書いたけど、何か間違えてる……?
ちなみに、GCC4.5.0では期待通りに動く。
初期化リストについて、VCだと以下のようなコードでコンパイルエラーになった。
VC10でエラーになるのはまあいいとして、VC9 SP1でもエラーになった。
鶫のオンラインマニュアルを見ると開発環境はVC9のようだけど、さてはて。
エラーを再現する最小のコードとして以下のコードを書いたけど、何か間違えてる……?
ちなみに、GCC4.5.0では期待通りに動く。
#includestruct test { int num1; int num2; }; class foo { public: test t; foo() : t({10, 20}) {} ~foo(){} void print() { std::cout << t.num1 << std::endl; std::cout << t.num2 << std::endl; } }; int main() { foo f; // g++4.5.0 OK, VC9 SP1, VC10 compile error f.print(); return 0; }
自作パーザとBoost.Spirit
Boost.Spiritの処理速度について気になったので。
解析にBoost.Spiritを利用しているBoost.PropertyTreeのjson_parserと、フルスクラッチした自作json_parserで速度を比較してみた。
11KB程のjsonファイルを10000回読み込むのに、
PropertyTree: 13.94 sec
自作パーザ: 6.51 sec
と二倍ほどの差が出た。
しかし、データ構造の構築も含めた時間になっているので、単純な解析速度の差というわけではない。
解析にBoost.Spiritを利用しているBoost.PropertyTreeのjson_parserと、フルスクラッチした自作json_parserで速度を比較してみた。
11KB程のjsonファイルを10000回読み込むのに、
PropertyTree: 13.94 sec
自作パーザ: 6.51 sec
と二倍ほどの差が出た。
しかし、データ構造の構築も含めた時間になっているので、単純な解析速度の差というわけではない。
登録:
投稿 (Atom)