Здравствуйте!
Есть курсовая, а в ней программа, выполняющая несколько алгоритмов: умножение матриц, сортировки, поворот изображения и кодирование видео(не спрашивайте зачем этот зоопарк

). Очень важна производительность. Так как программа будет тестироваться на разных процессорах(старшие модели i-серии, Core2 Duo и Quadro, AMD Turion), то не хотелось бы, что бы программа из-за оптимизации на одном CPU летала, а на другом безбожно тормозила.
Компилятор GCC 4.5.
Система Windows 7 x64.
Процессор: Intel i5 2410M
Вопросы:
Какие флаги оптимизации выставлять?
Использовать ли -О-сколько-нибудь, -march?
Как в целом влияет -OX на производительность на разных CPU?
Нужно ли выставить значение -march на какой-нибудь i686 или core2(тестирование на более ранних CPU не предполагается)?
Помогите кто чем сможет

Заранее благодарен.