-4 / 2 / 3
Регистрация: 30.05.2015
Сообщений: 37
|
|
1 | |
Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд21.06.2015, 23:34. Показов 504. Ответов 4
Метки нет (Все метки)
Добрый вечер. Написал программу на C и получил следующие результаты:
1) при компиляции в Visual Studio c опцией debug программа выполняется за ; 2) при компиляции в gcc без дополнительных опцией программа выполняется за 4.48 минуты; 3) при компиляции в Visual Studio c опцией release программа выполняется за 78 секунд. Вопрос как достигается такое ускорение? Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд.
0
|
21.06.2015, 23:34 | |
Ответы с готовыми решениями:
4
Что нужно изменить в коде, чтобы не открывалось консольное окно? Что изменить в коде, чтобы вместо целых чисел выводились дробные Что сделать с числом первая цифра которого 0, чтобы программа выполнялась Что изменить в коде для создания HTML-страницы и конвертирования изображений, чтобы он работал в Linux? |
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
21.06.2015, 23:37 | 2 |
оптимизация однако
никак ты этого не добъешся,ибо в дебиг версию входит отладочная информация, всякие отладочные макросы типа ASSERT VERYFY и подключаются совсем другие библиотеки
0
|
21.06.2015, 23:45 | 3 |
После того, как по коду проедутся оптимизации, то куча операций будет удалено, куча операций переделано, куча операций перемешается. В итоге получится код, в котором невозможно построить нормальное соответствие кода и исходного текста, а так же очень сложно построить внятное соответствие переменной исходного текста и машинного ресурса (регистр, стек), на котором лежит эта переменная, потому как местоположение переменной постоянно меняется. В итоге при работающих оптимизациях практически невозможно построить вменяемый режим работы отладчика. Поэтому режим Release из-под отладчика не работает. Ну а в режиме Debug, когда всё это имеется в наличии, приходится платить высокую цену за удобство отладки, и цена эта - потеря производительности в разы
0
|
-4 / 2 / 3
Регистрация: 30.05.2015
Сообщений: 37
|
|
21.06.2015, 23:53 [ТС] | 4 |
Как добиться такой же оптимизации от gcc? Компилирую так: gcc -std=c99 f1.c f2.c ....
0
|
21.06.2015, 23:54 | 5 |
Подай опцию оптимизации (например, -O3)
0
|
21.06.2015, 23:54 | |
21.06.2015, 23:54 | |
Помогаю со студенческими работами здесь
5
Что нужно дописать в программу чтобы она оставалась на экране 10 секунд Что изменить в коде? Что изменить в коде? Что изменить в коде? Не компилируется Что нужно изменить в коде? Как сделать, чтобы в if выполнялась ни одна команда, а несколько Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |