|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.07.2014, 16:19 | #1 |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
как ускорить
Есть вот такой код:
Код:
code_node[i] - предаставляет из себя структуру с переменными size;index;pi1; подскажите как можно ускорить этот код Последний раз редактировалось AlexVI; 14.07.2014 в 17:18. |
14.07.2014, 17:07 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А почему ты решил что этот код работает медленно?
I'm learning to live...
|
14.07.2014, 17:13 | #3 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
AlexVI может вы имели в виду оптимизировать код? Тогда чем вас это не устраивает... ?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
14.07.2014, 17:15 | #4 |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
хотелось ускорить или оптимизировать мне нужны любые идеи какие есть. У самого уже закончились. Просто это только часть всего кода (это код декодера LLR BP). Начал с этой части кода.
Может как то лучше и быстрее реализовать через регистры или ассембл вставками или массив переделать в стандартный вектор C++ что позволит быстрее работать с этим вектором...... сам код следующий: Код:
Последний раз редактировалось Stilet; 14.07.2014 в 17:38. |
14.07.2014, 23:15 | #5 | |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
Цитата:
|
|
15.07.2014, 07:09 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Применяйте вместо for - while, вроде как быстрее работает. И ещё, проход цикла делайте с "хвоста". Тоже немного быстрее выполняется.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
15.07.2014, 09:26 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
15.07.2014, 10:07 | #8 |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
шутка однозначно но все равно спасибо...
|
15.07.2014, 17:53 | #9 |
Пользователь
Регистрация: 03.07.2014
Сообщений: 32
|
1. Вы каждое значение llrp1[i] используете только 1 раз, так что не надо их хранить в массиве и потом каждый раз доставать. И сам массив не нужен.
2. Можно попробовать не вычислять каждый раз code_node[i].pi[j], и code_node[i].size (а вдруг компилятор не догадается соптимизировать): Код:
|
15.07.2014, 21:55 | #10 | |
Пользователь
Регистрация: 25.11.2006
Сообщений: 40
|
Цитата:
code_node[i] - это i-ый кодовый узел всего их допустим 4080 каждый кодовый узел связан с проверочными узлами check_node[i](всего их допустим 720). и code_node[i].size - это количество проверочных узлов связанных с данным кодовым и наоборот для check_node[i]. Значения или скажем номера этих проверочных узлов хранятся в code_node[i]->index[j]. Изначально все структуры struct parent_node { int size; // известно int index[J]; // известно // indexes of children float pi1[J]; // messages "pi" to children // ВЫЧИСЛЯЕМ !!! }; struct child_node { int size; // известно int index[K]; // indexes of parents // известно float lambda1[K]; // messages "lambda" t/ ВЫЧИСЛЯЕМ !!! }; struct parent_node code_node[NODES]; struct child_node check_node[NODES]; |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VB: как ускорить вывод в консоль? | studen | Помощь студентам | 0 | 03.07.2014 21:07 |
Как ускорить работу exel | Fedis1 | Microsoft Office Excel | 2 | 17.04.2014 19:01 |
Как ускорить расчеты формул??? | Иванов_ДМ | Microsoft Office Excel | 7 | 02.09.2009 09:53 |
Как ускорить программу ? | juan666777 | Общие вопросы Delphi | 2 | 02.05.2009 19:48 |
Как ускорить работу с сетевой БД | Ramires | БД в Delphi | 3 | 21.08.2008 12:16 |