Продуктивность программиста с STL против пользовательских классов утилит - PullRequest
1 голос
/ 26 февраля 2009

Я работаю в среде, где по историческим причинам мы используем сборку пользовательских классов утилит, большинство из которых были написаны до появления STL. Есть много причин, по которым я считаю хорошей идеей хотя бы написать новый код с использованием STL, но главная из них заключается в том, что я считаю, что это повышает производительность труда программиста. К сожалению, я не знаю, как это доказать.

Существуют ли какие-либо исследования, которые пытаются количественно оценить или даже намекают на повышение производительности от использования STL?

Обновление: Полагаю, мне следовало быть более конкретным. Я не выступаю за переписывание существующего кода, и я не беспокоюсь о новых сотрудниках, которые получат начало работы. Первое было бы глупо, а второго само по себе недостаточно, чтобы убедить людей.

Ответы [ 12 ]

0 голосов
/ 26 февраля 2009

Рассмотрим ситуацию, когда вы нанимаете нового программиста на C ++. У него / нее больше шансов иметь опыт работы с классами STL или ваши собственные? Вы можете рассчитывать на огромную экономию времени, прежде чем они станут продуктивными, если вы начнете переходить на STL.

0 голосов
/ 26 февраля 2009

Поскольку у вас уже есть служебные классы, нет необходимости использовать STL. Это быстро станет проблемой сопровождения, так как вы обнаружите необходимость начать интеграцию STL в ваши служебные библиотеки. ИМО, это будет производительность потеря .

Тем не менее, STL может предлагать множество функций и утилит, которые не предоставляются вашими библиотеками утилит. (Особенно полезным является заголовок , который вы, вероятно, можете начать использовать немедленно, без особых проблем с устаревшим кодом.) Если вы пишете много нового кода, гораздо лучше использовать STL (и Boost, если вы можете ), чем писать свои собственные служебные классы и алгоритмы. В результате это приведет к значительному увеличению производительности.

Я не знаю ни одного исследования по этой теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...