![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Каким образом можно оптимизировать (ускорить) алгоритм функции?
В идеале хотелось бы обойтись без цикла. Код:
Ищете информацию по C++?
cplusplus.com Последний раз редактировалось Сtrl; 01.05.2011 в 18:10. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А задача то какая?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Есть некое значение rating. Исходя из него определяется вероятность события (функция и вычисляет эту вероятность). Но для повышения вероятности на 1% с каждым разом нужно все больше и больше rating.
Насколько больше определяется значением diminishing_returns_coefficient. Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#4 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Поднимаю тему.
Какие-либо идеи есть? Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
![]()
Ну, не перевыделять память под decrease каждый раз в цикле, объявить не const uint, а просто uint вне цикла, если percent_limit всегда 100 - то можно не делить на 100,а использовать побитовый сдвиг... Ну и вообще, если уж совсем оптимизировать, то написать ассемблерную вставку
![]()
Если помог - кликни на значок весов под аватаром.
|
![]() |
![]() |
![]() |
#6 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
malinoff, спасибо за замечания. Ассемблерные вставки - это, конечно, хорошо, но насколько мне известно, компилятор сейчас генерирует ассемблерный код иногда даже лучше, чем сам программист. А вот про побитовый сдвиг - не могли бы вы описать, как его следует использовать в данной ситуации? Я с побитовыми операциями "не дружу" :)
Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
![]()
Сдвиг на один бит вправо равносилен делению на 2
Если помог - кликни на значок весов под аватаром.
|
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]() Цитата:
Насчёт [unsigned] short int не знаю, насколько это влияет, но вообще если разницы нет, то лучше использовать [unsigned] int. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi. Оптимизация алгоритма. | Риндера | Помощь студентам | 28 | 12.11.2010 09:27 |
оптимизация алгоритма выделения слов | furstenberg | Общие вопросы Delphi | 12 | 02.02.2010 07:44 |
Оценка алгоритма | Алежа | Помощь студентам | 7 | 20.01.2009 14:28 |
доработка алгоритма... | Sota | Помощь студентам | 2 | 13.06.2008 15:45 |
визуализация алгоритма | Alar | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 30.10.2006 14:10 |