iPad2 の記憶領域に対して mmapシステムコールがどの程度有効なのかを検証してみた。
結果として iPad2 でも通常の Disk/IO に対して mmap を使用することで約8倍高速化される。
8バイトのキー("00000000"〜)と同じく8バイトの値を Key-Value Store に出力するだけのプログラムである。
繰り返し回数はパラメータで指定できるようにしてある。
for (int i = 0; i < entries; i++) { char ckey[9]; snprintf(ckey, sizeof(ckey), "%08d", i); void* val = ckey; if (nio_put(hdb, ckey, sizeof(ckey)-1, val, sizeof(ckey)-1) != 0) { NSLog(@"entryKVS nio_put() error"); break; } }
通常の Disk/IO と mmap を使用したベンチマーク結果を掲載しておく。
数値は処理時間をミリ秒で表したものである。
【評価マシン】
iPad2 (memory 16GB)
iOS 4.3
|
Author: YAMAMOTO Naoki
Last modified: 2011/09/24