Я профилировал мой unit тест и большую часть времени, когда приложение запускается, расходуется на этот раздел кода. Это функция, которая преобразует float в строку. Как я могу переписать код ниже, чтобы иметь более высокую скорость?
Я неправильно читаю отчет, а узкое место - где-то в другом месте?
В отчетах профиля говорится:
Total CPU% = 13.02%, Self CPU%.07, Total CPU (ms) 769, Self CPU из 100 процентов 769 мс.
769 из 5907 образцов.
std::string FloatToScientificString(float val, int width, int precision)
{
std::stringstream buffer;
buffer << std::scientific << std::setw(width) << std::setprecision(precision) << std::setfill(' ') << val;
return buffer.str();
}