Я создавал небольшой проект, в котором использовался HTML localStorage. Хотя я и близко не подошел к пределу в 5 МБ для localStorage, я все равно решил провести стресс-тест.
По сути, я загружал объекты данных в один объект localStorage до тех пор, пока он не был чуть ниже этого лимита, и мне приходилось запрашивать установку и получение различных элементов.
Затем я неофициально рассчитал время выполнения setItem и getItem , используя объект Date javascript и обработчики событий (привязанные get и set к кнопкам в HTML и просто щелкнули = P)
Производительность была ужасной, с запросами, занимающими от 600 мс до 5000 мс, а использование памяти приближается к 200 МБ в худшем случае. Это было в Google Chrome с единственным расширением (Google Speed Tracer) на MacOSX.
В Safari это в основном> 4000 мс все время.
Firefox был сюрпризом, так как почти ничего не превышало 150 мс.
Все это было сделано в основном в состоянии ожидания - ни YouTube (Flash) не мешает, ни много вкладок (только Gmail), ни открытых приложений, кроме фонового процесса + браузера. Как только появляется задача, интенсивно использующая память, localStorage также замедлился пропорционально. FWIW, у меня Mac конца 2008 года -> 2.0Ghz Duo Core с 2GB DDR3 RAM.
===
Итак, вопросы:
К сожалению, я сомневаюсь, что мы сможем решить эту проблему, но чем ближе можно приблизиться, тем лучше понять ограничения браузера в его текущем состоянии.
Спасибо!