Производительность чтения / записи в локальном хранилище в Mozilla Firefox - PullRequest
0 голосов
/ 09 сентября 2011

Я тестирую разные браузеры на то, как они читают / записывают большие объемы данных в / из локального хранилища Примерные данные - это 1500 записей о клиентах с некоторым набором данных для каждого (имя, фамилия, некоторые идентификаторы для их местоположения, типа и т. Д.). Тестовое приложение построено на платформе GWT.

И что я заметил, так это то, что IE8, IE9, Chrome улучшили свою производительность как минимум на 30% после перехода к загрузке данных из локального хранилища (а не с веб-сервера). И только Firefox (5.0) - тот, кто ухудшил результаты (примерно на 30% медленнее). Удаленный веб-сервер использовался для проведения экспериментов. Разница между браузерами практически не видна на небольших порциях данных (100-200 записей), и итоговое время также должно быть одинаковым. Но большие суммы раскрывают проблему.

Я нашел упоминание об этой проблеме на сайте поддержки Mozilla - https://support.mozilla.com/en-US/questions/750266 Но до сих пор нет решения или обходного пути, как это исправить.

Профилирование Javascript показывает, что вызовы функций реализованы в классе GWT StorageImpl.java

function $key(storage, index){
   return index >= 0 && index < $wnd[storage].length ? 
                $wnd[storage].key(index) : null;
} 

взять львиную долю времени во время казни. Что на самом деле является вызовом storage.getItem (ключ) в GWT.

Чтобы избежать таких частых вызовов, я бы предпочел, например, один вызов для перевода содержимого хранилища на карту, и это могло бы помочь мне сэкономить время, затрачиваемое на операции ввода-вывода кэша Firefox (если таковые имеются). Но интерфейс хранилища (http://dev.w3.org/html5/webstorage/#storage-0) содержит только функцию getItem () для получения любого содержимого из хранилища.

Есть мысли о том, как заставить Firefox работать быстрее ?

P.S. Может быть, кому-то это пригодится: я нашел содержимое локального хранилища FF с помощью менеджера аддона SQLite и загружаю базу данных webappstore.sqlite из раскрывающегося списка встроенных баз данных по умолчанию.

1 Ответ

0 голосов
/ 09 сентября 2011

Какую версию Firefox вы тестируете? В вашем посте на support.mozilla.org упоминается Firefox 3.6.8, и вы упоминаете IE, поэтому, вероятно, в Windows, в этом случае вы, вероятно, нажимаете https://bugzilla.mozilla.org/show_bug.cgi?id=536544, который был исправлен в Firefox 4. Или вы видите проблема в недавнем Firefox?

...