На более серьезной ноте, шаблоны проектирования, вероятно, снизят производительность. Исходя из моего опыта, использование шаблонов проектирования дает более чистый и понятный код. Если вам нужно что-то оптимизировать, вам, вероятно, потребуется де-дизайн шаблона кода.
Часто производительность кода зависит от относительно небольшого фрагмента (структуры данных, функции или даже одного цикла), поэтому он никак не входит в рамки шаблонов проектирования. Изменение простой функции в C на супероптимизированную версию в сборке, вероятно, не изменит поведения всего класса.