這是localStorage的讀取效能測試。結果…血淚啊血淚:

  • 雖然說Test環境有點不公平 (Ram Read VS [極有可能的] HDD Read),不過其結果也太Orz
  • 即使是String*,能夠到百萬級的browser少的可憐。(只有Safari 5和IE9)
  • Chrome不知為何沒Result
  • 後面有一些反映到bottleneck是在Query Handshaking,而非Query本身-一百次Query 100 char還不及一次query 10000 char。(因為是Local所以不到某個size跟本是看不出來吧?)
  • 慢的要死的傢伙們很可能是用sqlite。(除IE 9是XML外,大多數是SQLite)

*要注意的是localStorage只可存String-所以經常存入的是JSON String。因此這個Test不太反映真實使用情形。(到此Chrome眾流淚,因為JSON API實在有夠慢…)

明顯的減少讀寫次數是比較可行的優化策略 (尤其是把JSON API一併考慮之下)。不過程式相對是難寫一點也很難做到0-dataloss,開發時會有所取捨…