Войти
ПрограммированиеФорумОбщее

Ускорение дебаг кода.

#0
18:33, 3 июля 2018

Есть парсер колады. В релизе ~20мб файл парсится за ~200мс, в дебаге за ~10000мс. Можно как-то ускорить в дебаге, иначе задолбался по 10 секунд ждать при каждом запуске? Может какие нибудь проверки отключить? Использую VS 2017.


#1
19:45, 3 июля 2018

JustForFun
Выключи Basic Runtime Checks в настройках компилятора (поставь его в Default).

Еще можно выключить Security Check.

#2
20:20, 3 июля 2018

А зачем ускорять в дебаге?
Какой смысл делать дебаг, если дебаг отключён?

#3
20:42, 3 июля 2018

Delfigamer
Пройтись построчно по функции, посмотреть значения переменных. Активное использование stl с мириадами проверок на каждый чих (отключаются дефайнами) может ронять производительность на порядки. Устанешь ждать, пока оно запустится. Какому-нибудь квейку думаю вообще по барабану дебаг или релиз. Будет на 20% ниже fps и на 20% быстрее компилироваться, вот и вся разница. А тарасовский хулион или что-то другое, не помню уже, нормально так раздражал на этапе запуска в дебаге.

#4
21:46, 3 июля 2018


mr.DIMAS
> Basic Runtime Checks в настройках компилятора (поставь его в Default)
От души. Помогло сократить время до 2000мс, более менее. А отключение Security Check вообще никак не сказалось.

Delfigamer
> А зачем ускорять в дебаге?
> Какой смысл делать дебаг, если дебаг отключён?
Я не гуру, пишу в дебаге, часто приходится трасировать, смотреть код после загрузки моделей. И каждый раз ждать по 10 сек пока загрузится одна моделька - буээ.

#5
22:11, 3 июля 2018

JustForFun
Ну так возьми модельку поменьше.
Или в колладе даже кубик на 12 треугольников растягивается на мегабайты данных?

entryway
> Устанешь ждать, пока оно запустится.
Ну так не запускай всё сразу. Запускай только то, что ты отлаживаешь.

#6
22:19, 3 июля 2018

Delfigamer
Зачем лезть с нравоучениями, когда автор об этом не просил? Ситуации бывают разные. Ответ на вопрос дан, не нужно срач опять разводить на пустом месте.

#7
0:03, 4 июля 2018

mr.DIMAS
> Зачем лезть с нравоучениями, когда автор об этом не просил?
http://xyproblem.info/

mr.DIMAS
> Ситуации бывают разные.
Вот я и задаю вопрос - зачем ему это?
Судя по текущему ответу, больше похоже на то, что он применял дебаг не по назначению, вот и спрашиваю - обязательно отлаживать программу сразу на огромных данных?

mr.DIMAS
> Ответ на вопрос дан, не нужно срач опять разводить на пустом месте.
Наоборот же, ответ дан - дело сделано - можно со спокойной душой и посраться.

#8
1:01, 4 июля 2018

Вынести загрузчик моделей в отдельную Release DLL.

#9
15:57, 6 июля 2018

Не используй стандартную Debug конфигурацию. Клонируй Release и выключи оптимизацию.

#10
18:11, 6 июля 2018

eXmire
А можно ещё клонировать буханку хлеба и включить режим троллейбуса.

#11
19:09, 6 июля 2018

JustForFun
> Можно как-то ускорить в дебаге

любые советы по ускорению дебага - ослабление дебаг защиты.
нахира тебе дебаг, если у тебя нет дебажных проверок?

не нужны проверки - юзай релиз.
и не парь голову.

#12
20:27, 6 июля 2018

Delfigamer
Может у меня есть код кроме импорта и я хочу запускать его в отладчике?
Или мой импортер не работает на больших моделях и я хочу это отладить?
Мне релиз не поможет.

#13
21:45, 6 июля 2018

Eugene
> Мой импортер не работает на больших моделях и я хочу это отладить?
Вряд ли отключение проверок поможет в отлове рантаймовых косяков.

Eugene
> Может у меня есть код кроме импорта и я хочу запускать его в отладчике?
Можно включить оптимизацию для отдельных .cpp, в которых ты уверен и с них можно снять проверки. Можно даже сделать отдельный профиль "Partial Debug", чтобы, если уверенность окажется незаслуженной, можно было без проблем откатиться до полного "Debug".

В общем - если нужно отладить какой-то модуль, нужно отлаживать его по-нормальному, со всеми проверками, ассёртами и прочими валидациями. Если при этом какой-то другой модуль без надобности тормозит - пожалуйста, ускоряй сколько угодно; но модуль с косяками должен именно отлаживаться, а не собирать всё самое худшее из обоих режимов.

#14
21:46, 6 июля 2018

Delfigamer
> А можно ещё клонировать буханку хлеба и включить режим троллейбуса.
Да, только это не позволит топик стартеру ускорить код. А вот грамотная настройка компиляции - вполне.

ПрограммированиеФорумОбщее

Тема в архиве.