Это не может быть значением по умолчанию, потому что вы не можете предполагать, что у каждого пользователя будет много оперативной памяти и 64-битная ОС. Кроме того, вы в конечном итоге захотите синхронизировать кеш на диске, чтобы не потерять весь кеш при выключении Firefox или компьютера.
Я думаю, что лучший подход - это оставить кеш на файловой системе, но использовать более умный драйвер файловой системы, который может получать подсказки о файлах с низким приоритетом для синхронизации с диском, так что многие изменения могут накапливаться в памяти в течение длительного периода времени. времени без внесения изменений в физические носители. Это обеспечит производительность, сравнимую с RAM-диском, без необходимости изменять приложение.
Если вы работаете в Windows, вы можете застрять, если не используете драйвер файловой системы стороннего производителя (или попробуйте ReFS в Windows Server 8; не уверены, что он выполняет отложенные коммиты). Если вы работаете в Linux, вы можете попробовать некоторые функции ext4, такие как отложенные коммиты и отложенное размещение; Вы также можете отключить функцию безопасности, которая предотвращает фиксацию файлов на диске до тех пор, пока к ним не будет вызвана функция fsync (). Это снижает безопасность данных в общем случае, но для кеша вам действительно все равно, если вы потеряете данные из-за случайного сбоя питания, верно? Это не ценные данные, и вы больше заинтересованы в производительности, чем в целостности данных. Если кэш поврежден, FF может просто удалить его и начать все сначала.
Что касается моей первоначальной идеи о файловой системе, которая может взять "намек" на то, что определенные файлы не являются ценными и не нуждаются в фиксации, если нет давления памяти для выталкивания страниц из памяти: это было бы хорошо, но я не знать, если какие-либо активные FS на любой платформе делают это. Похоже, что-то, что должно быть добавлено к стандартам POSIX. Большинство файловых систем сегодня нарушают стандарты, автоматически синхронизируя данные на диск каждые N секунд (обычно 5-15 секунд), даже если программа не вызывает fsync (), поэтому теперь нам нужен способ сказать это: Я действительно не беспокоюсь об этих файлах и предпочел бы, чтобы вы НЕ синхронизировали их, если система не закрывается ". Хотя детали дизайна файловой системы ... не уверен, что вы в такой вещи :)