Contenu connexe
Similaire à 社内勉強会02 シリアライズ[公開用]
Similaire à 社内勉強会02 シリアライズ[公開用] (20)
社内勉強会02 シリアライズ[公開用]
- 3. 今日の話
• 用途
• Web API
• キャッシュ
• 比較対象
• *
• *
ナイショ:新人の頃から関わってるシステムAと、最近
関わったシステムBを事例として紹介
- 13. 速度
benchmarking XMLRPC::Lite vs. RPC::XML for server - tokuhirom’s blog.
http://blog.64p.org/entry/20100928/1285630821
Benchmark: timing 5000 iterations of RPC::XML, XML::RPC, XML::RPC::Fast, XMLRPC::Lite, rest
json...
RPC::XML: 2 wallclock secs ( 1.73 usr + 0.00 sys = 1.73 CPU) @ 2890.17/s (n=5000)
XML::RPC: 4 wallclock secs ( 4.51 usr + 0.00 sys = 4.51 CPU) @ 1108.65/s (n=5000)
XML::RPC::Fast: 2 wallclock secs ( 1.78 usr + 0.00 sys = 1.78 CPU) @ 2808.99/s (n=5000)
XMLRPC::Lite: 16 wallclock secs (15.49 usr + 0.01 sys = 15.50 CPU) @ 322.58/s (n=5000)
rest json: 0 wallclock secs ( 0.12 usr + 0.00 sys = 0.12 CPU) @ 41666.67/s (n=5000)
(warning: too few iterations for a reliable count)
Rate XMLRPC::Lite XML::RPC XML::RPC::Fast RPC::XML rest json
XMLRPC::Lite 323/s -- -71% -89% -89% -99%
XML::RPC 1109/s 244% -- -61% -62% -97%
XML::RPC::Fast 2809/s 771% 153% -- -3% -93%
RPC::XML 2890/s 796% 161% 3% -- -93%
rest json 41667/s 12817% 3658% 1383% 1342% --
PerlのXML-RPCモジュール比較
CPANモジュール選定の参考にさせ
ていただきました!
JSON使った方が早い・・・
- 14. 速度
Data::MessagePack - search.cpan.org
http://search.cpan.org/~tokuhirom/Data-MessagePack/lib/Data/MessagePack.pm
-- serialize
JSON::XS: 2.3
Data::MessagePack: 0.24
Storable: 2.21
Benchmark: running json, mp, storable for at least 1 CPU seconds...
json: 1 wallclock secs ( 1.00 usr + 0.01 sys = 1.01 CPU) @ 141939.60/s
(n=143359)
mp: 1 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 355500.94/s
(n=376831)
storable: 1 wallclock secs ( 1.12 usr + 0.00 sys = 1.12 CPU) @ 38399.11/s (n=43007)
Rate storable json mp
storable 38399/s -- -73% -89%
json 141940/s 270% -- -60%
mp 355501/s 826% 150% --
JSON vs MessagePack on Perl
MessagePackはさらに早い!
- 15. 速度
Data::MessagePack - search.cpan.org
http://search.cpan.org/~tokuhirom/Data-MessagePack/lib/Data/MessagePack.pm
-- deserialize
JSON::XS: 2.3
Data::MessagePack: 0.24
Storable: 2.21
Benchmark: running json, mp, storable for at least 1 CPU seconds...
json: 0 wallclock secs ( 1.05 usr + 0.00 sys = 1.05 CPU) @ 179442.86/s
(n=188415)
mp: 0 wallclock secs ( 1.01 usr + 0.00 sys = 1.01 CPU) @ 212909.90/s
(n=215039)
storable: 2 wallclock secs ( 1.14 usr + 0.00 sys = 1.14 CPU) @ 114974.56/s
(n=131071)
Rate storable json mp
storable 114975/s -- -36% -46%
json 179443/s 56% -- -16%
mp 212910/s 85% 19% --
JSON vs MessagePack on Perl
デシリアライズも早い!
- 29. MessagePack issues121
• ep3 ゲスト: frsyuki, kiyoto - Tatsuhiko Miyagawa's Podcast
• http://tmblr.co/ZvMh0tf6XvMn
• 開発者の古橋さんがMessagePackを作ったキッカケ
や、issues121に端を発する議論について、国内外
の反応差や言語毎の事情、今後の方針について話
しています。
• 「MessagePack issues 121」で検索すると、日本語で
書かれたまとめ記事なども見つかります。
- 31. JSONの整形
$ JSONを出力する何か | python -mjson.tool
例)標準入力
{"method":"system.admin.getHogeList","params":{"":
{"User":"hoge256","Type":1,”Status”:7}}}
ナイショ:実際のリクエス
トからサンプルに改変