Меня интересует оценка скорости выполнения различных функций библиотеки ETL и STL на микроконтроллере NXP LP C 804. В настоящее время я делаю это, создавая программу на C ++ для каждой функции, а затем измеряю результаты с помощью осциллографа, который в другом примечании имеет тенденцию давать довольно разные результаты.
Я изучал различные наборы тестов, такие как Nanobench и Google Benchmark, однако ни один из них не работал. Кто-нибудь знает более эффективное решение? Поскольку это скорее методологический запрос, чем вопрос программирования как таковой, у меня нет кода для прикрепления.
Если для этого есть более подходящий канал Stack Exchange, я с радостью удалю этот пост и сделаю репост. это там. Спасибо!
Изменить : Чтобы добавить немного больше деталей:
- Под «переменными» результатами я подразумеваю, что когда я постоянно запускаю одну функцию в течение некоторого времени l oop, длительность периода, за который осциллограф дает мерцания вперед и назад между несколькими различными частотами. Я заметил, что это чаще встречается в миллисекундной шкале, чем в микросекундной.
- Это структура примера функционального теста:
int main() {
while (true) {
// set GPIO pin
// execute some function
// clear GPIO pin
}
return 0;
}
- Поскольку это это формальная исследовательская оценка, мне посоветовали либо использовать стандартный набор тестов, либо использовать осциллограф, а не создавать функции тестирования с помощью таймеров самостоятельно, поскольку мне сказали, что таймеры микроконтроллеров несколько неточны.