|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|
Как написать оптимизированный код02.08.2014, 14:45. Показов 1244. Ответов 18
Метки нет (Все метки)
Интересует вопрос, можно ли реализовать модификацию кода после его отработки, например, в цикле, после какой-то проверки мне уже она будет не нужна и я не хочу, чтобы время уходило на ненужные проверки и хочу не прерывать свой цикл, возможно ли так?
0
|
|
| 02.08.2014, 14:45 | |
|
Ответы с готовыми решениями:
18
Оптимизированный поиск в БД Оптимизированный поиск Оптимизированный поиск |
|
290 / 271 / 107
Регистрация: 10.06.2011
Сообщений: 696
|
|
| 02.08.2014, 16:01 | |
|
0
|
|
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|||||||
| 02.08.2014, 17:05 [ТС] | |||||||
|
Darth Coder,
0
|
|||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 02.08.2014, 17:26 | |
|
0
|
|
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|||||||||||
| 02.08.2014, 19:54 [ТС] | |||||||||||
|
pycture, Вы, похоже, не поняли сути вопроса и написали ответ, зацепившись за слова, это печально... Но проблема состоит в том, что цикл foreach и после того, как я нашел какой-то элемент в массиве мне не надо начинать прогонять его сначала, а другой искомый элемент будет дальше, но мне уже не надо делать предыдущих проверок, так как я нашел уже такой элемент.
Добавлено через 9 минут
Добавлено через 2 минуты Как бы после нахождения качества равного 1 хочется, чтобы цикл модернизировался и становился без этой проверки, то есть принимал такой вид
0
|
|||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||||||
| 02.08.2014, 20:02 | |||||||||||
|
ZeViS, есть много способов писать код который выполняется эффективно.
элементарное переписывание условий избавит от лишник проверок сложных условий
но идея переписывать код во время выполнения никогда не должна приходить в голову если речь идет только об оптимизации скорости выполнения.
0
|
|||||||||||
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|||||||||||
| 02.08.2014, 20:13 [ТС] | |||||||||||
|
pycture,
Добавлено через 2 минуты pycture,
0
|
|||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 02.08.2014, 20:39 | |||
|
Добавлено через 2 минуты
в любом случае выбор не велик. флаги, массивы, словари
0
|
|||
|
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
|
||||||
| 02.08.2014, 22:00 | ||||||
|
напишите так
0
|
||||||
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|
| 02.08.2014, 22:16 [ТС] | |
|
hepper, Спасибо за предложение, но дальше я больше раскрыл проблему, а Ваше решение не помогает проблеме
Добавлено через 6 минут pycture, Спасибо за предложения, эта проблема решается через Action<>
0
|
|
| 02.08.2014, 22:17 | ||||||
|
ZeViS,
0
|
||||||
|
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
|
||
| 02.08.2014, 22:19 | ||
|
0
|
||
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|
| 02.08.2014, 22:46 [ТС] | |
|
Спасибо за предложения, эта проблема решается через Action<>
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||
| 03.08.2014, 06:48 | |||||||
1
|
|||||||
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
|||||||||||
| 03.08.2014, 10:50 [ТС] | |||||||||||
|
pycture, Действительно, если мы действия в цикле просто вынесем в функцию, то код уже заметно замедляется
0
|
|||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||||||||||||||||||
| 03.08.2014, 11:27 | ||||||||||||||||||||||
|
этот вариатн (который я сразу и дал)
и возможно (тут смотреть надо) логику флагов переписать вместо !q использовать q. это все. Добавлено через 6 минут
0
|
||||||||||||||||||||||
|
3 / 3 / 1
Регистрация: 30.08.2012
Сообщений: 63
|
||||||
| 03.08.2014, 11:34 [ТС] | ||||||
|
pycture, В данном случае не выгоднее поменять местами q и qq
Главное, что я понял из этой темы, так это то, что надо максимально отказываться от функций в нагруженных местах, как бы оно красиво не выглядело)
0
|
||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||
| 03.08.2014, 11:39 | ||
|
эта проверка должна выполняться при изменении q или qq, а не в каждой интерации
1
|
||
|
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
|
||
| 03.08.2014, 17:03 | ||
|
1
|
||
| 03.08.2014, 17:03 | |
|
Помогаю со студенческими работами здесь
19
Оптимизированный запрос Сайт оптимизированный NetPromoter
Качественно оптимизированный сайт
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|