kcov vs lcov vs raw performance?
Любой, кто может дать мне некоторую информацию об относительной производительности кода, выполняемого в следующих условиях,
- Только что скомпилирован
- Составлено с
--coverage
- Работает под
kcov
Мне понадобится вдвое больше времени для запуска моего набора тестов, если я интегрирую инструмент покрытия кода, такой как gcov
или же kcov
?
1 ответ
Мой опыт в этом заключается в следующем, но учтите, что реальные результаты, вероятно, будут сильно зависеть от вашего кода.
Работа с скомпилированным ключом --coverage составляет примерно половину скорости только что скомпилированного кода.
Работа с kcov значительно (в x6 - x10) раз медленнее, чем скомпилированный код.
Итак, что я делаю, это:
- Для многих запусков или чего-то, что, как я знаю, занимает какое-то время, используйте "--coverage", затем gcovr / lcov
- Для одноразового запуска короткого исполняемого файла используйте kcov.