trangir:
Поскольку вы упомянули конкретную архитектуру, я предположил, что имеются в виду Эльбрус-специфичные низкоуровневые оптимизации - вы это предположение опровергаете. Тогда - какие?
Рекомендации по оптимизации алгоритмов для Эльбруса выглядят примерно так.
1. При регулярном считывании/записи элементов массива лучше, чтобы обращения были к соседним элементам (меньше шаг по массиву).
2. Для массивов структур лучше переход от массивов структур к набору массивов, хранящих отдельные поля.
3. Для многомерных массивов, выстроенных как одномерные, лучше, чтобы индекс самого вложенного цикла относился к смежно расположенным в памяти элементам.
4. Многомерные массивы, реализованные через массивы указателей, не рекомендуются.
5. Работа со списками (когда адрес следующего элемента зависит от значения предыдущего) медленная.
6. Деревья не лучше списков.
7. Хэш-таблицы немного лучше.
8. Есть рекомендации по расположению данных в памяти или на регистрах, исходя из их глобальности или локальности.
9. Инлайн-подстановка.
10. Уменьшение зависимости операций по данным.
12. Повышение локальности данных для лучшего использования кэша.
13. Уменьшить рекуррентность в циклах.
14. Использовать в качестве цикловых счетчиков, определяющих адрес чтения, переменные типа long (не unsigned), не производить инкрементов счетчиков под условиями.
15. Выравнивать адреса по размеру читаемого объекта.
16. Предварительная подкачка данных в кэш.