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

не использовать do/while ? бред ! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В матрице удалить строки с элементами на главной диагонали, превышающими заданную величину http://www.cyberforum.ru/cpp-beginners/thread2772.html
В матрице удалить строки с элементами на главной диагонали, превышающими заданную величину, а затем в качестве первой вставить строку из максимальных элементов соответствующих столбцов.(Для...
C++ Поиск строк Здраствуйте, подскажите какие есть реализации или как это сделать примерно. Задача в поиске строк в файле, можно воспользоватся регулярными выражениями или алгоритмами типа бойра-Мура, но файл нельзя... http://www.cyberforum.ru/cpp-beginners/thread2768.html
C++ Не могу сделать exe
При компиляций моего пректа exe не создаётся.Выдаёт ошибки,которые я не знаю как исправить...http://dump.ru/files/g/g2067785368/ Программа должна выполнять функцию Надо ввести значение переменной...
Где можно скачать программу, чтобы начать учиться работать в С++? C++
собственно ногами не пинать...вопрос полного нуля в этой области , но подскажите где можно скачать программу для того что бы начать учиться работать в С++... может выразился сумбурно...но за рание...
C++ Где можно скачать элекронные книги, конспекты и тд? http://www.cyberforum.ru/cpp-beginners/thread2715.html
Уважаеммые формчане, нужна помощь по основам программирования на С, ищу ссылки где можно скачать элекронные книги, конспекты и тд и тп. ничего сложного и желательно кратко. заренее благодарен
C++ Помогите с курсовой на тему! Отражение движущегося случайным образом шарика от геометрических фигур статично располагающихся в комнате (треугольник, квадрат, круг) с использованием библиотеки функций OPENGL. подробнее

Показать сообщение отдельно
igor_nf
118 / 12 / 1
Регистрация: 21.08.2007
Сообщений: 222
28.08.2007, 16:02
g++ sol.cpp -o sol && time ./sol = 0.23s
g++ sol.cpp -o sol -D TEST && time ./sol = 0.20s
Ну да, я забыл обнулять переменную, вследствие чего и получил результат 0.040сек - внутренний for() исполнялся всего один раз.

for() действительно медленнее - но засчёт чего, мне стало очевидно только после анализа асемблерного листинга.

Вся работа for( i = 0; i < 4 && (major[i] = 1); ++i) заключается в семи машинных командах:
Assembler
1
2
3
4
5
6
7
8
    movl    $0, -12(%ebp)                    
.L4
    cmpl    $3, -12(%ebp)                    
    [B]jg   .L5[/B]                              
    movl    -12(%ebp), %eax                
    movl    $1, -28(%ebp,%eax,4)
    incl    -12(%ebp)
    jmp .L4
Вся работа do { major[i++] = 1} while( i < 4 )заключается в шести машинных командах:
Assembler
1
2
3
4
5
6
7
           movl      $0, -12(%ebp)
.L3:
    movl    -12(%ebp), %eax
    movl    $1, -28(%ebp,%eax,4)
    incl    -12(%ebp)
    cmpl    $3, -12(%ebp)    
    jle .L3
Выводы делаем сами...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru