まんじうこわい@楽

まんじうこわい@楽

PR

Keyword Search

▼キーワード検索

Calendar

Profile

hknopage

hknopage

Free Space

2010.02.03
XML
カテゴリ: PHP
以前 業務処理の混じったスクリプトでtsvとserializeの速度比較を行ったが、無駄な処理があるのでちょっと信頼性に欠ける。
 今回は不要な処理をなるべく無くして比較実験。

----実験----
・データ量:約18万7千件(行)
・各テストスクリプトを3回、load averageが0.1以下になってから実行
・CPU:Quad-Core AMD Opteron(tm) Processor 2376 x2個
・メモリ:8GB

----入出力ファイルサイズ----

 詳しくは ソース参照
--tsv--
17,446,415 byte
--serialize(1件毎)--
46,573,936 byte
--serialize(全件まとめて)--
81,368,022 byte

---- tsv ----
・入力ファイル:tsv形式
・出力ファイル:tsv形式

--1回目--
all:4.02843904495
read:2.52924990654
write:1.49918913841
--2回目--

read:2.52776885033
write:1.6064260006
--3回目--
all:4.12754297256
read:2.56202197075
write:1.56552100182

---- serialize&unserialize ----
・入力ファイル:serialize形式(1件毎)
・出力ファイル:serialize形式(1件毎)
・処理方法:1件ずつ入力、全て入力後、1件ずつ出力
--1回目--
all:4.92642498016
read:2.69009304047
write:2.2363319397
--2回目--
all:4.93736600876
read:2.73131799698
write:2.20604801178
--3回目--
all:4.93822383881
read:2.72671484947
write:2.21150898933

---- まとめてserialize&unserialize ----
・入力ファイル:serialize形式(まとめて全件)
・出力ファイル:serialize形式(まとめて全件)
・処理方法:全件入力、全件出力
--1回目--
all:98.4064509869
read:95.5289621353
(file_get_contents:0.117384195328,unserialize:95.41157794)
write:2.87748885155
--2回目--
all:98.2645261288
read:95.387127161
(file_get_contents:0.124714136124,unserialize:95.2624130249)
write:2.87739896774
--3回目--
all:97.9302198887
read:95.0836489201
(file_get_contents:0.114450931549,unserialize:94.9691979885)
write:2.84657096863


 何か余計な処理がないとtsvが読み書き最速だった。
 書き込みはserialize化が無い分早いっぽい。書き込みデータも小さいみたいだし。
 前回は業務用の余計な処理があったから、読み込みがserializeに負けてたのかな。
 そして、まとめてunserializeがやっぱり遅い。

 とりあえず行単位でやれば大差なさそうです。
 ファイルサイズを節約したいなら断然tsvかも。
 データ加工が面倒で楽したいならserializeかな~。

 異論は認める!





お気に入りの記事を「いいね!」で応援しよう

Last updated  2010.02.03 23:48:02コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: