Несколько рекомендаций, как оптимизировать время выполнения поиска максимального числа в большом массиве:
- Использовать SSE MMX. 1 Этот набор команд позволяет, например, сравнивать одновременно 4 пары чисел за одну инструкцию. 1 Эффект будет заметен при количестве данных от 1000 штук. 1
- Применять встроенные в ЦП операции большей разрядности над данными меньшей разрядности. 1 Например, 32-битные или 64-битные операции над 8-битными числами. 1
- Отказаться от цикла. 1 Если количество элементов в цикле внутри алгоритма — константа и их малое количество (до 20 или 100 элементов), то можно составить древесную условную структуру для поиска максимума без цикла. 1
- Распараллелить поиск. 14 Если данных более 10 000, то распараллеленный поиск (когда ответ ищут несколько ядер процессора посредством threads) даёт результат лучше, чем линейный. 1
Выбор метода оптимизации зависит от конкретных условий задачи.