2013年10月2日水曜日

Google snappyの試行:時間計測

Mac OSXの処理時間と乱数データではそもそも圧縮がかえってサイズが増えてしまう結果がでたため、Linux PCを使って詳細なデータを取ってみました。(snappyのパッケージ内の試験用のデータ、21個を使いました)

結果を以下の表にまとました。

1.Linuxでの結果
ファイル名ファイルサイズ[B]圧縮サイズ[B]圧縮率[%]圧縮時間[msec]圧縮レート[MB/s]伸長時間[msec]伸長レート[MB/s]圧縮時間[sec]伸長時間[sec]
alice29.txt15208988017172.8%1.446100.3060.368394.0130.0014460.000368
asyoulik.txt12517977525161.47%1.24695.8120.285419.010.0012460.000285
baddata1.snappy2751226675103.14%0.157167.2470.0161618.3490.0001570.000016
baddata2.snappy2748326724102.84%0.143183.220.0151744.9490.0001430.000015
baddata3.snappy2838427476103.3%0.169160.1350.0191419.1990.0001690.000019
cp.html2460311838207.83%0.213110.2040.039603.7550.0002130.000039
fields.c111504728235.83%0.11394.0930.02537.3510.0001130.00002
geo.protodata11858823295509.07%0.537210.6360.1051078.0750.0005370.000105
grammar.lsp37211800206.72%0.04972.6050.008437.7650.0000490.000008
house.jpg126958126797100.13%0.133910.090.0139404.2990.0001330.000013
html10240022842448.3%0.529184.5880.103948.1470.0005290.000103
html_x_440960092221444.15%2.021193.2760.56697.4890.0020210.00056
kennedy.xls1029744424519242.57%6.284156.2762.373413.8430.0062840.002373
kppkn.gtb18432069526265.11%1.364128.8730.403436.2610.0013640.000403
lcet10.txt426754234392182.07%3.854105.5991.001406.5290.0038540.001001
mapreduce-osdi-1.pdf9433077421121.84%0.259347.440.0422143.8620.0002590.000042
plrabn12.txt481861319097151.01%4.91493.5151.321347.8510.0049140.001321
ptt551321692963552.06%2.244218.1110.714685.430.0022440.000714
sum3824018722204.25%0.313116.4960.065562.3530.0003130.000065
urls.10K702087335387209.34%4.933135.7281.221548.3990.0049330.001221
xargs.142272509168.47%0.05770.7450.009444.9470.0000570.000009

参考までにMac OSXの結果ものせときます。

2.Macでの結果
ファイル名ファイルサイズ[B]圧縮サイズ[B]圧縮率[%]圧縮時間[msec]圧縮レート[MB/s]伸長時間[msec]伸長レート[MB/s]圧縮時間[sec]伸長時間[sec]
alice29.txt15208988017172.8%2.10768.8420.542267.6450.0021070.000542
asyoulik.txt12517977525161.47%1.84864.60.477250.3580.0018480.000477
baddata1.snappy2751226675103.14%0.256102.4650.029909.4890.0002560.000029
baddata2.snappy2748326724102.84%0.241108.7360.027972.850.0002410.000027
baddata3.snappy2838427476103.3%0.28794.2990.033822.7240.0002870.000033
cp.html2460311838207.83%0.33370.4960.07335.8770.0003330.00007
fields.c111504728235.83%0.1859.0730.032332.8360.000180.000032
geo.protodata11858823295509.07%0.642176.1430.176642.7530.0006420.000176
grammar.lsp37211800206.72%0.0939.3760.012297.6810.000090.000012
house.jpg126958126797100.13%0.262462.0860.0264659.0140.0002620.000026
html10240022842448.3%0.658148.4060.175558.0390.0006580.000175
html_x_440960092221444.15%2.465158.4680.695562.0580.0024650.000695
kennedy.xls1029744424519242.57%7.409132.5452.087470.5240.0074090.002087
kppkn.gtb18432069526265.11%1.734101.3720.556316.1580.0017340.000556
lcet10.txt426754234392182.07%5.33476.3011.234329.7960.0053340.001234
mapreduce-osdi-1.pdf9433077421121.84%0.393228.9560.0711266.1750.0003930.000071
plrabn12.txt481861319097151.01%6.62169.4071.693271.4330.0066210.001693
ptt551321692963552.06%2.312211.7010.855572.3070.0023120.000855
sum3824018722204.25%0.44182.6810.106343.7310.0004410.000106
urls.10K702087335387209.34%6.454103.7441.417472.4680.0064540.001417
xargs.142272509168.47%0.10538.4270.014286.5760.0001050.000014

結果を見て感じたことを箇条書きにしてみます。

  1. 圧縮率は確かにあまりよくない。特にbaddata*というファイルは、ほとんど圧縮できていませんが、圧縮レート/伸長レート自体は悪くない。
  2. 圧縮レートより伸長レートの方が圧倒的に速い!
  3. 圧縮レートも結構速いが、圧縮率が大きいほど圧縮レートが遅いというわけでもなく、関係がよくわからない。(圧縮率が大きいほど圧縮レートが遅くなると予想したが、これははずれた)
  4. Macの方はCPUのクロックが遅いのでやはり全体的に処理速度が遅い。全般的な傾向はLinuxと同じだが、圧縮レートを比較すると個々の結果で差があるが、理由がわからない。(Macの方は時間計測において結構バラツキがありました。tickの時間がLinuxと違うのか、単にタイマーの精度が悪いのか・・・
圧縮/伸長時間やレートはCPUの性能が大きく関係するので、判断を一概にできませんが今回使ったCPU(Core2Duo E6850)だとGbit Etherくらいまでは圧縮した方が今回の目的(データを収集して、別のPCにEhterで送りそこでHDDにログする)には使えそうな気がします。(もちろん100Mの昔のEtherなら間違いなくsnappy使った方がいいでしょう)また、複数のPCでデータを収集して、1つのPCで集中してログする場合も有効でしょう。(転送データのサイズが減れば、それだけEtherのパケットがライン上で衝突する確率が減ります)

ただ今回のログを一つのPCで集中的に行いたいという目的だと、伸長レートは別に遅くてもいいんで、本当は圧縮レートの方が早いのがうれしいんだけど。(ログは圧縮したまま行った方がHDDに書き込む量/時間を減らせるし、ログ解析時は多少伸長に時間がかかっても問題ない場合が多いです。)

0 件のコメント:

コメントを投稿