вторник, 13 мая 2014 г.

И ещё к вопросу об ARC

По мотивам - http://programmingmindstream.blogspot.ru/2014/05/arc.html

Пусть мы печатаем документ.

И пусть мы делаем это используя не TCanvas, а ICanvas.

И пусть "машина печати" имеет свойство Canvas типа ICanvas.

Так вот.

500 страниц Налогового Кодекса с 40-ка параграфами на страницу приводит вот к чему.

Как минимум для каждого параграфа мы получаем канву и сохраняем её в локальную переменную.

Это - 500*40*2 = 40000 операций InterlockedIncrement/Decrement. За "просто так".

Понятное дело, что можно и по-другому оптимизировать. Например не получать канву "на каждый чих". И при этом не забывать ставить модификатор const перед ВХОДНЫМИ интерфейсными параметрами. Ибо если не поставить const то имеем пару InterlockedIncrement/Decrement.

Комментариев нет:

Отправить комментарий