Захотелось объектов... С++

Dec 17, 2012 01:00

Для упрощения организации связей между модулями захотелось в астре сделать какую-то объектную модель, начал искать различные варианты, прочитал 21st Century C, прочитал несколько pdf-ок про способы реализации ООП в Си, но все эти велосипеды я уже изобрёл сам.

Решил попробовать С++, никогда не любил его. Использовал только вместе с Qt, особо не вдавался в его глубины. Всегда считал его непригодным для embedded-девайсов из-за различных его плюшек увеличивающих размер бинарника и уменьшающих производительность. Начал с изучения способов отрезания всего лишнего. Результат получился замечательный - компактный бинарник, без stl, rtti и без исключений (try-catch).

Сделал простой тест udp_input -> цепочка из 2000 модулей пропускающих трафик -> udp_output:
Размер бинарника не изменился (для меня самое главное в 500Кб уложиться).
Оригинальная астра: 58% CPU + 17Mb памяти.
Тестовая астра на С++: 30% CPU + 800Kb памяти...
(PS: в реальных условиях, изменения не будут заметны, так-как логика модулей не изменится)

Объяснение простое мой код связывающий модули слишком запутанный, С++ связал объекты наиболее оптимальным способом. В добавок код стал более понятным.
Астра 4 будет на С++ :-)

c++, programming, astra

Previous post Next post
Up