|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2009, 14:22 | #1 |
Пользователь
Регистрация: 23.07.2007
Сообщений: 20
|
Нужна помощь с оптимизацией
Доброго времени суток.
Пишу программу, очень требовательную к скорости выполнения Поэтому необходимо как можно лучше оптимизировать по скорости следующую функцию: Код:
|
07.03.2009, 14:58 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Выносим отдельную константу для хранения 128*Ratio и используем её для задания границ циклов, а то они каждую итерацию высчитываются.
Вместо ir = (byte)(i / Ratio); и jr = (byte)(j /Ratio); лучше: создать константу для 1/Ratio, а в итерациях циклов писать ir += <эта самая константа>; ppvBits+dy+dx так же выносится в отдельную переменную, чтобы каждый раз не высчитывалось. этот ужас: Код:
В общем: - все повторяющиеся расчеты заносим в переменные - * и / стараемся заменить на + и - - Стараемся всё, что можно, вынести за границы циклов (Если значение какого-то выражения не меняется от итерации к итерации, то ему нечего делать в цикле) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь | sergy88 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 28.01.2009 12:36 |
Нужна помощь | zinger | Помощь студентам | 2 | 16.05.2008 10:55 |