Недавно меня попросили произвести MIPS (миллион операций в секунду) для алгоритма, который мы разработали. Алгоритм представлен набором функций в стиле C. Мы проверили код на Dell Axim, чтобы оценить производительность при разных входных данных.
Этот вопрос пришел от нашего поставщика оборудования, но я в основном разработчик программного обеспечения HL, поэтому я не знаю, как ответить на запрос. Может быть, кто-то с похожим опытом HW/SW может помочь...
Поскольку наш алгоритм не работает в режиме реального времени, я не думаю, что нам нужно количественно определять его как MIPS. Можно просто указать общее количество инструкций по сборке?
Если верно 1, то как это сделать (т.е. как измерить количество ассемблерных инструкций) вообще или конкретно для ARM/XScale?
Можно ли выполнить 2 на устройстве WM или с помощью эмулятора устройства, представленного в VS2005?
Можно ли автоматизировать 3?
Спасибо большое за вашу помощь. Чарльз
Спасибо за вашу помощь. Я думаю, С.Лотт попал в самую точку. И в качестве продолжения, у меня теперь есть больше вопросов.
5 Есть предложения по измерению MIPS? Я слышал, что кто-то предложил запустить наш алгоритм и сравнить его с тестом Dhrystone/Whetstone для расчета MIS.
6 Поскольку алгоритм не нужно запускать в режиме реального времени, действительно ли MIPS является полезной мерой? (например, factorial(N)) Какие существуют другие способы количественного определения требований к обработке? (Я уже измерил производительность во время выполнения, но это был неудовлетворительный ответ.)
7 Наконец, я предполагаю, что MIPS является грубой оценкой и будет зам. на компиляторе, настройках оптимизации и т. д.?