Дефекты производительности

Дефекты, которые влияют на производительность Кода С++

Эти дефекты обнаруживают проблемы, такие как ненужные копии данных и неэффективные стандартные функции C++, которые могут привести к узким местам производительности в Коде С++. Дефекты включают:

  • const параметры или возвращаемые значения, обеспечивающие копию вместо операций пересылки

  • Неэффективные функции для вставки новой строки и расчета длины строки

Результаты Polyspace

Const parameter values may cause unnecessary data copiesЗначения параметров const могут предотвратить операцию пересылки, приводящую к более интенсивной производительностью операции копии
Const return values may cause unnecessary data copiesВозвращаемые значения const могут предотвратить операцию пересылки, приводящую к более интенсивной производительностью операции копии
Empty destructors may cause unnecessary data copiesОбъявленные пользователями пустые деструкторы предотвращают автоматическую генерацию конструкторов перемещения и перемещают операторы присваивания
Inefficient string length computationДлина строки, вычисленная при помощи длины строки, функционирует по возврату из std::basic_string::c_str() вместо того, чтобы использовать std::basic_string::length()
std::endl may cause an unnecessary flushstd::endl используется вместо более эффективного \n