|
Сравнение RTOS для STM32 по времени реакции |
|
|
|
Nov 8 2014, 10:28
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(AlexandrY @ Nov 8 2014, 13:49)  Не знаю на что в scmRTOS тратят время, но нормальные RTOS тратят на это в два раза меньше. Смотрите бенчмарки ChibiOS. Ваш наезд насчёт "нормальных" осей выглядит как минимум некрасиво. Нормальные участники форума так не делают. По вашей ссылке есть ссылка на независимое тестирование, где цифры гораздо более правдоподобны (2.92µs на 72 МГц). У scmRTOS на 72МГц получалось 2.7µs. Причём мы не учитывали время включения и выключения светодиода, как в этой ссылке.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Nov 8 2014, 12:25
|
Знающий
   
Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245

|
Цитата(ArtDenis @ Nov 8 2014, 07:47)  под скоростью реакции я имею ввиду промежуток времени от момента уведомления ОС о событии до начала выполнения первых инструкций обработчика события. Вчера померил это время на серии STM32L152 на максимальной рабочей частоте (32 МГц) с FreeRTOS. Минимум, что удалось выжать с 2-мя задачами - это 11.7 мкс, что довольно печально на мой взгляд. + AHTOXA померил время реакции scmRTOS на VLDiscovery (24 МГц). У него получилось 6.5 мкс, что уже гораздо лучше. В сообщении от AHTOXA есть ссылка на хоть какую то методику тестирования, а вот что и как тестировали (больше похоже на измерение переключения контекста) и как настраивали другие не понятно, так же надо иметь ввиду что на некоторых МК, ногодрыг может быть ограничен определенной частотой, которая указана в документации к МК.
|
|
|
|
|
Nov 8 2014, 17:36
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(AHTOXA @ Nov 8 2014, 12:28)  Ваш наезд насчёт "нормальных" осей выглядит как минимум некрасиво. Нормальные участники форума так не делают. По вашей ссылке есть ссылка на независимое тестирование, где цифры гораздо более правдоподобны (2.92µs на 72 МГц). У scmRTOS на 72МГц получалось 2.7µs. Причём мы не учитывали время включения и выключения светодиода, как в этой ссылке. Смотрите лучше по ссылке http://chibios.sourceforge.net/reports/STM32F100-24-GCC.txtКод --- Test Case 11.4 (Benchmark, context switch) --- Score : 364984 ctxswc/S --- Result: SUCCESS Т.е. 2,7 мкс на 24 МГц
|
|
|
|
|
Nov 8 2014, 20:45
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(AlexandrY @ Nov 8 2014, 22:36)  Т.е. 2,7 мкс на 24 МГц Да, я видел. Это какой-то сильно "синтетический тест". Возможно, просто вызывали в цикле функцию, переключающую контекст. Без собственно оси и всего остального. 2.7мкс на 24 МГц - это всего 64 такта процессора. 12+12 тактов на вход/выход в прерывание планировщика + сохранение контекста (8 регистров + SR = 10 тактов) + восстановление контекста (13 тактов), Это уже 47 тактов. Осталось 17 тактов. В эти такты надо уместить: - собственно вызов перепланировки;
- запрет/разрешение прерываний;
- переключение стеков;
- поиск самого приоритетного готового к выполнению процесса;
- ну и, наконец, надо включить и выключить светодиод.
Так что я гораздо больше доверяю независимому тесту. Не то, чтобы я подозревал разработчиков чибиос в жульничестве, но лёгкое лукавство там, похоже, присутствует.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|