|
0 / 0 / 0
Регистрация: 17.11.2022
Сообщений: 89
|
||||||
Ускорить код21.03.2023, 21:35. Показов 3894. Ответов 60
Здравствуйте, столкнулся с проблемой. При выполнении теста, превышается время выполнения кода в 2 с. Обращаюсь за помощью и советом как ускорить код.
0
|
||||||
| 21.03.2023, 21:35 | |
|
Ответы с готовыми решениями:
60
Как ускорить код? Нужно ускорить код Как ускорить код? |
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 22.03.2023, 12:52 | |
|
0
|
|
|
33 / 25 / 8
Регистрация: 18.12.2022
Сообщений: 83
|
|
| 22.03.2023, 12:57 | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 22.03.2023, 14:52 | |
|
0
|
|
|
33 / 25 / 8
Регистрация: 18.12.2022
Сообщений: 83
|
|
| 22.03.2023, 15:10 | |
|
SmallEvil, так и что ты этим хотел сказать?)
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 22.03.2023, 15:23 | ||
|
Текущая решается без всяких страданий над ассемблеровскими вставками и размышлениями о том как компилятор и процессор будут генерировать и исполнять ваш код. Но желания разбирать простыню ТЗ от автора, нет никакого желания. Добавлено через 2 минуты А еще, что вектор можно применить и даже нужно, так что не будет никакой нагрузки. А выделить на стеке массив N-фигового размера - это тру вей ? да ? )
0
|
||
|
33 / 25 / 8
Регистрация: 18.12.2022
Сообщений: 83
|
|||
| 22.03.2023, 15:24 | |||
|
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 22.03.2023, 15:40 | |||
![]() Добавлено через 1 минуту OSPFv3, возьмите opencv или boost::asio и поразмышляйте о сгенерированном коде. Надеюсь вы поняли к чему я веду. Если будете думать как ассемблерный кодер, то дальше калькулятора ничего не напишите.
0
|
|||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 22.03.2023, 21:15 | |
|
Если 104 это 10^4, а 105 это 10^5, то при максимальных значениях потребуется 10^9 выполнений циклов вычислений. Это ващ. реально за 2 секунды?
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 22.03.2023, 21:58 | ||
|
Такие курсы и тз роспрофкомнадзора по созданию универсальных По другому все это воспринимать невозможно. Добавлено через 1 минуту Даже если это проявление просто тех кто не справляется (что заметно по ТЗ что это не так, что теории там нету), то все равно это просто безумие чистой воды.
0
|
||
|
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
|
|
| 22.03.2023, 23:26 | |
|
C 104-105 там наверняка переполнение переменных
0
|
|
|
640 / 398 / 68
Регистрация: 09.03.2016
Сообщений: 4,396
|
|
| 23.03.2023, 01:34 | |
|
Чё вообще делает ваш тест?
Тестит? Добавлено через 1 минуту Нельзя было поменять переменные?
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
||||||||
| 23.03.2023, 09:42 | ||||||||
|
bmouse, можешь сгенерить мне файл с контентом, примерно равным по объёму из теста? Я попробую поковырять
Добавлено через 32 минуты bmouse, в общем, опробуй. Особо оптимизацией не занимался. Думаю, ещё есть, где развернуться https://onlinegdb.com/L6f2_02hX пояснения к настройкам:
в функции GenerateInput для генерации файла задай нужные значения для
0
|
||||||||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||||||
| 23.03.2023, 09:44 | ||||||
|
Написал я тестовый кодик, правда на Qt. Для одного набора входных данных. И количество запросов 2*10^4 - в 10 раз меньше, чем в т.з. Время выполнения около 1 сек. Прога выдаёт на экран результат последнего вычисления и время выполнения:
1
|
||||||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 23.03.2023, 09:47 | |
|
alexu_007, кстати, да, можно заранее сумму вот так считать, но только для случая, когда длина заменяемого диапазона короче, чем половина массива. Лазейка для оптимизации
0
|
|
|
640 / 398 / 68
Регистрация: 09.03.2016
Сообщений: 4,396
|
|
| 23.03.2023, 13:03 | |
|
Как вы на debug скорость проверяете? На дебаг медленнее работает...
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|||
| 23.03.2023, 19:11 | |||
|
Добавлено через 1 минуту
0
|
|||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 23.03.2023, 20:02 | |
|
alexu_007, потому что выгодно заранее посчитать сумму более половины элементов. А вот каждый раз считать сумму более половины элементов - это невыгодно
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 23.03.2023, 22:59 | |
|
Я ничего не понял. Зачем нужна сумма более половины элементов?
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 24.03.2023, 08:45 | |
|
alexu_007,
1) перед всей движухой считаем сумму всех элементов (n) 2) внутри цикла считаем сумму заменяемой области (lr) , чтобы вычесть её из основной суммы и прибавить туда k*(r-l+1) очевидно, что в пункте 2 нужно сделать две ветки - если lr<n/2 , то делаем как описано, это выгодно. Но если lr длиннее половины массива, то выгоднее суммировать первый отрезок и конечный, а уже туда добавить k*(r-l+1)
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||||||
| 24.03.2023, 09:12 | ||||||
|
1) перед всей движухой считаем сумму всех элементов (n), и определяем, чётная сумма или нет
2) внутри цикла считаем сумму заменяемой области (lr), и определяем, чётное значение или нет 3) вычисляем k*(r-l+1) и определяем, чётное значение или нет Если второе и третье значения совпадают (оба чётные или оба нет) - то четность основной суммы не меняется. Если не совпадают - четность основной суммы меняется на противоположную. И не нужно суммировать никаких отрезков
0
|
||||||
| 24.03.2023, 09:12 | |
|
Гипотеза Коллатца(ускорить код) Нужно ускорить код. Буду очень благодарен
Ускорить программу на C++ Ускорить программу c++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|