WebStorageのパフォーマンスについて気になったので、jsperfで試してみました。
jsperfでの結果
- MemoryStorageとしているのは、ただ変数に入れてるだけのバージョンです。
- Storage使う時はJSON.parse、JSON.stringifyしたりすると思うのでそんな感じで比較してます
MemoryStorage
var memoryStorage = {
_data: {},
setItem: function(key, data) {
this._data[key] = data;
},
getItem: function(key) {
return this._data[key];
}
};
SPAでのSessionStorage
- 基本的にはどれもそんなに変わらない感じでしたが、ChromeだとMemoryStorageが高速でした。
- SinglePageApplicationの場合はページ読み込みは最初しか発生しないので、ガベージされない変数に突っ込むのもSessionStorage使うのも違いがないと思うのでこれなら自分でSessionStorage的なものを作って使う方がいいのかなと思ったりしました。