Я тут закончил "большую переделку".
"Зачем-то"...
Избавился от использования интерфейсов на большинстве базовых классов. В пользу использования примесей и абстрактных классов.
Что сказать. Результат - превзошёл ожидания.
Производительность увеличилась на 30%. (Естественно далеко не на ВСЕХ прецедентах)
И это только за счёт отказа от "паразитного" подсчёта ссылок "на каждый чих".
(Читай отказался от InterlockedIncrement/Decrement)
Только и всего.
Наиболее заметно это на "операциях ввода/вывода", а ОСОБЕННО - отрисовки данных на канве.
Вот так вот...
Теперь я погружён в УНЫНИЕ...
Ведь НАМ "светит ARC"...
Всем и "в вену"...
Где всё те же - "паразитный подсчёт ссылок" и InterlockedIncrement/Decrement.
Светит.
И куда от этого уйти? Или к тому моменту "рост мощностей" нивелирует данные потери?
P.S. Кстати.. Есть вопрос к ЗНАТОКАМ. А атрибут [Weak] для локальных переменных работает?
P.P.S. Возвращаясь к интерфейсам... Хочу отметить, что отказ от них позволил съэкономить как минимум по 4-ре байта на каждый класс (где был произведён отказ от интерфейсов). Немного.
Налоговый кодекс занимает примерно 500 страниц. На каждой странице примерно 40 параграфов. Соответственно на НК съэкономлено примерно 80 Кб. Немного.
"Зачем-то"...
Избавился от использования интерфейсов на большинстве базовых классов. В пользу использования примесей и абстрактных классов.
Что сказать. Результат - превзошёл ожидания.
Производительность увеличилась на 30%. (Естественно далеко не на ВСЕХ прецедентах)
И это только за счёт отказа от "паразитного" подсчёта ссылок "на каждый чих".
(Читай отказался от InterlockedIncrement/Decrement)
Только и всего.
Наиболее заметно это на "операциях ввода/вывода", а ОСОБЕННО - отрисовки данных на канве.
Вот так вот...
Теперь я погружён в УНЫНИЕ...
Ведь НАМ "светит ARC"...
Всем и "в вену"...
Где всё те же - "паразитный подсчёт ссылок" и InterlockedIncrement/Decrement.
Светит.
И куда от этого уйти? Или к тому моменту "рост мощностей" нивелирует данные потери?
P.S. Кстати.. Есть вопрос к ЗНАТОКАМ. А атрибут [Weak] для локальных переменных работает?
P.P.S. Возвращаясь к интерфейсам... Хочу отметить, что отказ от них позволил съэкономить как минимум по 4-ре байта на каждый класс (где был произведён отказ от интерфейсов). Немного.
Налоговый кодекс занимает примерно 500 страниц. На каждой странице примерно 40 параграфов. Соответственно на НК съэкономлено примерно 80 Кб. Немного.
Комментариев нет:
Отправить комментарий