どっちがいいのかを試すページを見つけました。
そこでパフォーマンスの比較はされていたのですが、メモリ使用量の差を取りたいなと。
※参考サイト様
http://symfoware.blog68.fc2.com/blog-entry-1446.html
ということで、ざっと10000件の登録と取得テストしてみた結果
-- Hash軍
# Hash形式の登録
0:00:01.591490
0:00:01.616605
0:00:01.472524
0:00:01.546202
0:00:01.659209
# Hash形のデータ取得
0:00:04.343340
0:00:04.458308
0:00:04.224831
0:00:04.489008
0:00:05.694959
# Hash形式のMemory
used_memory:3985912
used_memory_human:3.80M
used_memory_rss:16728064
used_memory_peak:13656576
used_memory_peak_human:13.02M
used_memory_lua:35840
mem_fragmentation_ratio:4.20
mem_allocator:jemalloc-3.6.0
-- json軍
# json形式の登録
0:00:00.446721
0:00:00.451547
0:00:00.427018
0:00:00.470627
0:00:00.395783
# json形式のデータ取得
0:00:05.247353
0:00:04.890471
0:00:05.397085
0:00:04.802723
0:00:05.896350
# Memory
used_memory:4285168----
used_memory_human:4.09M
used_memory_rss:16588800
used_memory_peak:13656576
used_memory_peak_human:13.02M
used_memory_lua:35840
mem_fragmentation_ratio:3.87
mem_allocator:jemalloc-3.6.0
結果:
登録 hash × - ○ json登録はjsonが圧勝したが、参照に関してはほぼ僅差かつ、若干Hash優勢と巻き返し。
参照 hash ○ - △ json
Mem hash ○ - △ json
メモリ使用量はHashの方が少ない。
と項目毎に有利な点が出るという、なかなかの好勝負。
利用用途でどちらを使うか決めていったほうがいいですね。
環境のスペック等で若干傾向が変わっていくと思いますので、自分の環境でお試しあれ。
----
おわり
0 件のコメント:
コメントを投稿