С++ - язык, который изучается постепенно.ГЛАВА 16. Оптимизация
                   Справочники Всё для создания сайта

Ссылки


Home
Бизнес
Справочники
Советы







Материалы книги получены с http://www.itlibitum.ru/

Оптимизация

Только что описанный алгоритм способен резко тормозить программу при каждом запуске функции Scavenge(). Для оптимизации по отдельности или вместе могут использоваться два следующих подхода:

1. Функция Scavenge() работает поэтапно, а не как единая операция. Для этого вам придется

модифицировать Copy1(), чтобы ее последовательный аналог вызывался до завершения

сборки мусора.

2. Ведение отдельных списков используемых ведущих указателей для каждой половины вместо перебора содержимого VoidPtrPool для их поиска. При перемещении каждого объекта из неактивной половины в активную ведущий указатель также перемещается из одного списка в другой. В конце цикла уплотнения для неактивной половины остается список лишь тех ведущих указателей, которые должны быть уничтожены.

Вряд ли эти варианты оптимизации стоит применять в реальных проектах - особенно второй, поскольку ведение списков потребует значительно больших затрат памяти и быстродействия.


Назад    Содержание    Далее    

Home  Создание сайтов  Учебник по записи CD  Справочник Web дизайнера Самоучитель IE PHP и MySQL Компьютерные сети С++ E-mail me

Copyright 2006. Климов Александр. All Right Reserved.
Hosted by uCoz