Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Оптимизация программы
 
Мне нужно оптимизировать мою программу на ассемблере. А я в этом ничего не понимаю. Скажите, какие способы есть? Если можно побыстрее, мне нужно срочно!!
 
2Jarsen: все зависит от того, что именно программировал и в какую сторону оптимизировать.

Как вариант оптимизации на скорость (если ты сам никогда не пробовал) могу посоветовать переписать программу на C/C++ и использовать Intel C++ Compiler или MSVC++.

Оптимизация на скорость: если у тебя математика -- "обрати взор" на технологии MMX (если целочисленная), SSE, SSE2, 3DNow!, 3DNow! Professional (если float-point). Также полезно знать что такое конвейер и "распаривать" операции (пресловутая pentium-оптимизация).

Если нужно оптимизировать на размер, тогда хитрыми извращениями на предмет нестандартного использования стандартных / расширенных инструкций.
 
2Jarsen:
Для того, чтобы правильно ответить на твой вопрос, нужна более подробная информация о твоей программе. А так, это будут лишь общие советы, которые применимы к любому коду.
Начнем с того, что по ходу программа выполняет какие-то действия, сортировка, поиск и.т.д. Проверь, оптимален ли выбраный тобой алгоритм, не существует ли более качственного решения? Возможно есть повод перечитать Крута :)
Также нужно стремится к уменьшению объема вычислений в программе, одно и то же значение не должно вычисляться дважды, программа должна рассчитать каждое значение лишь один раз и сохранить его для повторного использования. Еще лучше преносить вычисления со стадии исполнения на стадию ассемблирования всякий раз, когда это позволяют ограниченные математические "способности" MASM или TASM.
Но если ты решил оптимизировать свою программу, потому что знакомый хакер Вася сказал что это без оптимизации это "нииилитно", то нужно задуматся о том, что после всех операций, скорее всего ухудшится читаемость кода и не факт, что после прошествия некоторого времени, когда ты сядешь в ней разбираться, у тебя в голове не появятся мысли типа "А не лучше ли пойти попить пива" :)
 
я бы начал с вопроса "расскажи пару фраз о том, что ты хочешь сделать"...
 
Похоже оптимизация заключается в написании программы с нуля :)
Страницы: 1
Читают тему