Оказывается некоторые разработчики Mozilla Firefox до сих пор не знали(!) о печально известной ошибке, связанной с невозвращением выделенной оперативной памяти. Эта ошибка связана с тем, что выделяемая в процессе работы браузера память, запрашивается у ОС маленькими рядом идущими фрагментами, высвобождение отдельных из которых потом практически невозможно.
Stuart Parmenter предлагает несколько способов решения проблемы: выделение маленьких строк на стэке, а не в куче, выделение больших кусков памяти за один раз с дальнейшим распределением выделенного пространства под мелкие строки (как это уже сделано для layout objects) и т.д. В качестве последнего шага предлагается написать свою реализацию malloc/new, но Parmenter не считает что этим стоит заниматься, пока не опробованы другие способы.
"В качестве самой последней меры, мы могли бы полностью заменить malloc и new чем-то более лучшим. Я не думаю, что это стоит сейчас делать, пока мы не попробовали как можно больше других способов".
>>> Подробности