4 Гб оперативной памяти. Дисковый кэш отключен (browser.cache.disk.enable;false). При установке browser.cache.memory.capacity больше 233016 хотя бы на 1 перестаёт работать с ним:

Memory cache device
Number of entries:        0
Maximum storage size:     233017 KiB
Storage in use:           0 KiB
Inactive storage:         0 KiB

Нагуглилась похожая проблема http://www.neowin.net/forum/topic/850570-memory-cache/, но у другого там всё работает.

Это баг?

http://unkar.org/r/software/1308657804/539-540

http://mxr.mozilla.org/mozilla1.9.2/source/netwerk/cache/src/nsMemoryCacheDevice.cpp#478
PRInt32 softLimit = (hardLimit * 9) / 10 で桁溢れする。
上限は、2 ** 31 / 9 = 238609294 = 233016.9 KiB
計算は合う。

К сожалению, я не настолько бегло читаю по японски :) — после google-translate, насколько я непонимаю, это естественное ограничение платформы/выбора переменной размера кэша в unsigned long?

int32_t softLimit = (hardLimit * 9) / 10;
— откуда такая странная конструкция? И почему при расчётах они 2^31, а не 2^32-1 делят на 9, вместо того, чтобы умножать?

Reiser
Этому коду уже почти 12 лет - он из https://bugzilla.mozilla.org/show_bug.cgi?id=85054. По моему те, кто писали патч, давно уже уволились :)

А как тогда понимать наличие наличие того же в http://mxr.mozilla.org/mozilla-release/ … ce.cpp#508?

P.S. Видимо, там signed long.

В других новостях, Mozilla собирается переписать кэш и одним из предложений является:

Consider eliminating memory cache.

30-03-2013 23:44:41
Reiser
Всегда можно стянуть исходники и собрать Firefox под себя :)

Чем же им memory cache не угодил? Вроде должен ускорять работу.:/

banbot пишет

О, ну, наконец-то, а то этому багу скоро тринадцать лет будет :) . Не подскажете,  в каком тикете Багзиллы обсуждается новый кеш?

Они там вообще от реальности отрываться начали, сначала настройки, теперь кэш в памяти порезать решили... чую пятой точкой, что [firefox] плавненько превратится в [chrome] и будет радостно стучать в Google... :usch:

А чо? Сразу решается две проблемы:
- объединение с разрабами [chromium] позволит приобрести кучу новых рук, которых так не хватает.
-  а отправка регулярных доносов в  «Корпорацию добра» обеспечит кэшем.
:mad:

ru-vadik
Я не думаю, что дело уже дошло до тикета.

Zaycoff пишет

Они там вообще от реальности отрываться начали, сначала настройки, теперь кэш в памяти порезать решили... чую пятой точкой, что [firefox] плавненько превратится в [chrome] и будет радостно стучать в Google... :usch:

А чо? Сразу решается две проблемы:
- объединение с разрабами [chromium] позволит приобрести кучу новых рук, которых так не хватает.
-  а отправка регулярных доносов в  «Корпорацию добра» обеспечит кэшем.
:mad:

С кешем проблемы были еще с версии Phoenix 0.5. Для того, чтобы решить вопиющие проблемы, типа самоочистки дискового кеша при завершении работы операционной системы, постоянно накручивались "костыли". Многие проблемы, вроде, невозможности полноценной оффлайновой работы с веб-приложениями, не решены до сих пор. Их, просто, слишком дорого решать при существующий реализации кеша.

Настройки решили порезать лишь в интерфейсе. Те, кому эти настройки необходимы, создадут в профиле файл user.js.

Таки объясните, кто понимает, откуда там такая формула вычисления максимального размера RAM cache и почему такое ограничение? Чем объясняется softLimit = hardLimit * 0.9? Почему, если softLimit есть Int32, то реальный максимальный размер ram cache меньше 2^32?

Вы же знаете, что на этом форуме нет разработчиков. Заведите в Багзилле соответствующий тикет, и разработчики Вам ответят. Даже наша Багзилла есть - на русском.

Разве правильно в трекере багов заводить тикет с вопросом?

Опишите его как баг.