Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
-4 / 2 / 3
Регистрация: 30.05.2015
Сообщений: 37
1

Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд

21.06.2015, 23:34. Показов 504. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Написал программу на C и получил следующие результаты:
1) при компиляции в Visual Studio c опцией debug программа выполняется за ;
2) при компиляции в gcc без дополнительных опцией программа выполняется за 4.48 минуты;
3) при компиляции в Visual Studio c опцией release программа выполняется за 78 секунд.

Вопрос как достигается такое ускорение? Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2015, 23:34
Ответы с готовыми решениями:

Что нужно изменить в коде, чтобы не открывалось консольное окно?
здравствуйте, что тут chcp 1251 r009039_pdjyjr36.exe RunAutomat=true SubName=Фамилия...

Что изменить в коде, чтобы вместо целых чисел выводились дробные
Что нужно изменить в коде чтоб вводились не целые числа а не целые например 0,34 package...

Что сделать с числом первая цифра которого 0, чтобы программа выполнялась
Когда подводишь курсор к примеру к 034, он пишет (int)28, и если ввести вместо 034 28 программа...

Что изменить в коде для создания HTML-страницы и конвертирования изображений, чтобы он работал в Linux?
Что нужно изменить в коде bat - ника что бы он работал на Linux? Помогите пожалуйста. @echo off...

4
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
21.06.2015, 23:37 2
Цитата Сообщение от kolobok919 Посмотреть сообщение
Вопрос как достигается такое ускорение?
оптимизация однако
Цитата Сообщение от kolobok919 Посмотреть сообщение
Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд.
никак ты этого не добъешся,ибо в дебиг версию входит отладочная информация, всякие отладочные макросы типа ASSERT VERYFY и подключаются совсем другие библиотеки
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
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
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
21.06.2015, 23:54 5
Подай опцию оптимизации (например, -O3)
0
21.06.2015, 23:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2015, 23:54
Помогаю со студенческими работами здесь

Что нужно дописать в программу чтобы она оставалась на экране 10 секунд
Что нужно дописать в программу чтобы она оставалась на экране 10 секунд ( редактор MSVS 2010...

Что изменить в коде?
var n,nn : Integer; i,j,count:integer; s:string; begin write('Vvedite n->'); ...

Что изменить в коде?
Дан массив А(20), сформировать новый массив из чисел кратных 3. Написала вот код, но выводит просто...

Что изменить в коде? Не компилируется
#include <iostream> #include <windows.h> using namespace std; int main() { ...

Что нужно изменить в коде?
Дана задача: Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит...

Как сделать, чтобы в if выполнялась ни одна команда, а несколько
Укажите на ошибки. И главный вопрос: как сделать, чтобы в if выполнялась ни одна команда, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru