Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
kolobok919
-4 / 2 / 1
Регистрация: 30.05.2015
Сообщений: 37
#1

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

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

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

Вопрос как достигается такое ускорение? Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2015, 23:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд (C (СИ)):

Сделать так, чтобы функция setbox выполнялась раз в некоторое время - C (СИ)
Суть такова: пишу игру, в стиле гонок. Снизу - спрайт автомобиля, сверху сбрасываются блоки-"препятствия". Их горизонтальная координата...

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

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

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

Что нужно дописать в программу чтобы она оставалась на экране 10 секунд - C++
Что нужно дописать в программу чтобы она оставалась на экране 10 секунд ( редактор MSVS 2010 eng-версия) Вот код: // Программа,...

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

4
ValeryS
Модератор
6962 / 5299 / 522
Регистрация: 14.02.2011
Сообщений: 17,870
21.06.2015, 23:37 #2
Цитата Сообщение от kolobok919 Посмотреть сообщение
Вопрос как достигается такое ускорение?
оптимизация однако
Цитата Сообщение от kolobok919 Посмотреть сообщение
Что изменить в коде, чтобы и debug версия выполнялась за 78 секунд.
никак ты этого не добъешся,ибо в дебиг версию входит отладочная информация, всякие отладочные макросы типа ASSERT VERYFY и подключаются совсем другие библиотеки
0
Evg
Эксперт CАвтор FAQ
18884 / 6840 / 498
Регистрация: 30.03.2009
Сообщений: 19,260
Записей в блоге: 30
21.06.2015, 23:45 #3
После того, как по коду проедутся оптимизации, то куча операций будет удалено, куча операций переделано, куча операций перемешается. В итоге получится код, в котором невозможно построить нормальное соответствие кода и исходного текста, а так же очень сложно построить внятное соответствие переменной исходного текста и машинного ресурса (регистр, стек), на котором лежит эта переменная, потому как местоположение переменной постоянно меняется. В итоге при работающих оптимизациях практически невозможно построить вменяемый режим работы отладчика. Поэтому режим Release из-под отладчика не работает. Ну а в режиме Debug, когда всё это имеется в наличии, приходится платить высокую цену за удобство отладки, и цена эта - потеря производительности в разы
0
kolobok919
-4 / 2 / 1
Регистрация: 30.05.2015
Сообщений: 37
21.06.2015, 23:53  [ТС] #4
Как добиться такой же оптимизации от gcc? Компилирую так: gcc -std=c99 f1.c f2.c ....
0
Evg
Эксперт CАвтор FAQ
18884 / 6840 / 498
Регистрация: 30.03.2009
Сообщений: 19,260
Записей в блоге: 30
21.06.2015, 23:54 #5
Подай опцию оптимизации (например, -O3)
0
21.06.2015, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2015, 23:54
Привет! Вот еще темы с ответами:

Что изменить в коде? Не компилируется - C++
#include <iostream> #include <windows.h> using namespace std; int main() { cout<<"Avtor: Tsapenko K.V. "; ...

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

сделать чтобы функция mail выполнялась один раз день - PHP
всем привет. у меня следующая проблема. есть программа, и при определенных условиях (у меня за три дня до окончания срока), нужно...

Необходимо, чтобы при заполнении <textarea> выполнялась какая-то команда - JavaScript
Следущая проблема Необходимо что бы при заполнении &lt;textarea&gt; Выполнялась какая то команда. То есть если в ней написана хоть одна буква...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru