![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 2 Всего: 7 |
Проводим оптимизацию кода с помощью переписывания отдельных функции на ассемблер.
Иногда получается так, что время выполнения кода с переписанной функцией больше, чем до переписывания... Хотя, очевидно, что ассемблерный код явно лучше чем, сгенерированный компилятором!? Эффект просто сбивающий с ног Если это только связано с выравниваем по 4 байта, скажите можно ли как-то оптимизировать выравнивание, ведь играться с nop(ами) полный абсурд при громадно программе... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 2 Всего: 7 |
Заранее спасибо...
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| Crait |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Sorry, конечно,
но на фирмах, выпускающих компиляторы, тоже ведь не идиоты сидят... val, вы учитывали особенности конвеерной организации используемого Вами процессора ? Это сообщение отредактировал(а) Crait - 7.10.2003, 23:36 |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 2 Всего: 7 |
Такой эффект наблюдается даже при оптимизации ассемблерного кода... Есть функция на ассеблере, выкинули из неё несколько ненужных ассемблерных строк, в результате программа работает медленне... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 2 Всего: 7 |
Нет, а как это делается? -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
к сожалению, не знаю об этом процессоре практически ничего, но попробую предположить:
если функции, переписанные на ассемблер, сохраняются в другом файле, то, возможно, как-то влияет расстояние между точкой вызова функции и ее местоположением в памяти -------------------- qqq |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 2 Всего: 7 |
Я просто оптимизирую готовые ассемблерные функции и ничего никуда не перношу... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
еще неплохо было бы провести такой тест:
взять одну оптимизированную функцию и сравнить с соответствующей неоптимизированной но сравнение проводить не во всем алгоритме, а отдельно на одинаковых данных если замедление останется, значит, проблема возникает при переписывании если нет, значит, новая функция в каком-то смысле "не вписывается" в алгоритм, тогда ошибку локализовать будет сложнее -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |