|
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 17
|
|
Зависит ли быстродействие программы от среды (VS2017 и VS2019) или их настроек?30.01.2021, 13:25. Показов 3827. Ответов 15
Метки нет (Все метки)
Есть коректный многопоточный код на С++ и два компа:
1. слабый, Windows 10, VS2017 2. быстрый, Windows 10, VS2019 Компилирую код на слабом(в VS2017) и запускаю - время выполнения 16 минут, компилирую код на быстром(в VS2019) и запускаю - время выполнения 14 минут, а теперь интересное: если скомпилированый exe-файл со слабого компа перекинуть на быстрый, то программа выполняется за 9 минут! Какие могут быть причины такого эффекта? Как зависит быстродействие программы от среды (VS2017 и VS2019) или их настроек?
0
|
|
| 30.01.2021, 13:25 | |
|
Ответы с готовыми решениями:
15
Конструктор WinForms не открывает в VS2017 Форму созданную в VS2019
От чего зависит быстродействие Матлаб |
|
495 / 209 / 70
Регистрация: 27.05.2016
Сообщений: 557
|
|||
| 30.01.2021, 13:50 | |||
|
Добавлено через 4 минуты
1
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 30.01.2021, 14:05 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 17
|
|
| 30.01.2021, 15:21 [ТС] | |
|
notAll, за подсказку релиз/дебаг спасибо!
А где посмотреть флаги компиляции и оптимизации, которые связаны именно с этим? Может, где-то есть походящая справка? (Я уже попробовал погуглить и что-то не очень...) oleg-m1973, к сожалению, код показывать нельзя (секрет фирмы), хотя я его сам писал. Если коротко, то это что-то вроде перебора вариантов для разных комбинаций и нахождение общей суммы. Комбинаций очень много. Потоков для теста выставил 4, хотя у второго компа 12 ядер, т.е., для второго компа ещё есть куда разгоняться.
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 30.01.2021, 15:27 | |||
|
Там ещё и в потоках работает? Не завидую твоей фирме.
0
|
|||
|
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 17
|
|
| 30.01.2021, 16:03 [ТС] | |
|
oleg-m1973, завидовать нехорошо.
Лучше бы что-то по делу написал, если таковые знания есть.
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 30.01.2021, 16:13 | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||
| 30.01.2021, 16:25 | ||||
|
0
|
||||
|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,518
|
||||
| 30.01.2021, 16:52 | ||||
|
Например, вы можете собрать медленный, но надежный дебаг. Или шустрый, но менее надежный релиз. Интересно, а что это за фирма такая, у которой сотрудники задают вопросы уровня новичка?
0
|
||||
|
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 17
|
|
| 31.01.2021, 11:51 [ТС] | |
|
Нет, oleg-m1973, программы компилировались в одном режиме, почему и вопрос возник.
eva2326, во всех случаях использовался один и тот же код, поэтому логично предположить, что причина не в нём. И вот ещё: вы почему-то вообразили, что я програмистом работаю, но это не так. А, судя по вашим ответам, вы такие же специалисты, как и я.
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
||
| 31.01.2021, 12:01 | ||
|
0
|
||
|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,518
|
|||||||||
| 31.01.2021, 14:05 | |||||||||
|
И не логично для программиста. Потому что программист знает, что в зависимости от конфигурации сборки, код может различаться как небо и земля. Взять тот же дебаг и релиз: код один. Но в зависимости от конфигурации, компилируется он по разному. И даже в рамках одной и той же конфигурации могут быть существенные различия. Реальные проекты часто идут на всевозможные ухищрения, связанные со спецификой конкретного компилятора. Вот, пожалуй, яркий пример одного из таких случаев
Это - фрагмент из реального коммерческого кода.
В Visual Studio 2015 был обнаружен баг. Для неё используется обходной вариант. Для всех остальных компиляторов - общий вариант.
Но! Вся ирония в том, что несмотря ни на какие различия, одна и та же сборка на разных компиляторах не должна иметь разительных отличий по эффективности. Скорее всего вы где-то напортачили. Судя по вашем первичным репликам: А значит, ваш вопрос никак не мог возникнуть на почве "одинаковости режимов".
0
|
|||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 31.01.2021, 14:11 | |||
|
0
|
|||
|
Вездепух
12944 / 6811 / 1821
Регистрация: 18.10.2014
Сообщений: 17,236
|
|||
| 01.02.2021, 03:52 | |||
Сообщение было отмечено Serhiy_UA как решение
Решениеhttps://preshing.com/20110717/... -debugger/ Чтобы устранить это различие, нужно попросить среду не использовать debug heap ![]()
1
|
|||
|
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 17
|
||
| 01.02.2021, 21:19 [ТС] | ||
Я уже сам об этом подумал, но подтверждение все равно очень ценно. Всем остальным спасибо, и меньше понтов, ребята и девчата.
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 01.02.2021, 21:24 | |
|
0
|
|
| 01.02.2021, 21:24 | |
|
Помогаю со студенческими работами здесь
16
От чего зависит размер программы? От компилятора или компоновщика? Изменение настроек программы через файл настроек Отладка программы с асинхронными методами, настройка параметров отладчика VS2019
Быстродействие программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|