[#] Фабричный метод без размещения в динамической памяти
habrabot(difrex,1) — All
2014-11-29 15:00:02


У классической реализации фабричного метода на C++ есть один существенный недостаток — используемый при реализации этого шаблона динамический полиморфизм предполагает размещение объектов в динамической памяти. Если при этом размеры создаваемых фабричным методом объектов не велики, а создаются они часто, то это может негативно сказаться на производительности. Это связанно с тем, что во первых оператор `new` не очень эффективен при выделении памяти малого размера, а во вторых с тем что частая деаллокация небольших блоков памяти сама по себе требует много ресурсов. Для решения этой проблемы было бы хорошо сохранить динамический полиморфизм (без него реализовать шаблон не получится) и при этом выделять память на стеке. Если вам интересно, как это у меня получилось, добро пожаловать под кат. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/244497/#habracut