C/C++ - Как проверить нагрузку программы

Ответить
Аватара пользователя
DENoszone

C/C++ - Как проверить нагрузку программы

Сообщение DENoszone »

Вот часто говорят... "Много жрет памяти" "Сильно грузит процессор" чем это можно проверить?

И что бы показывало самое минимальное.



Зачем мне это надо?

Я хочу проверить правда ли что скобки надо использоваать на много меньше, так как они замедляют програму.
Аватара пользователя
Coutty

Re: C/C++ - Как проверить нагрузку программы

Сообщение Coutty »

В диспетчере задач смотрят. Там отображается и загрузка памяти (вместе со всеми библиотеками) и использование процессорного времени.



А насчёт скобок - это вряд ли. При компиляции всё равно получаются простые инструкции.

Проверить можно, замерив миллисекунды перед блоком кода и после него. Только как это делается на Си я не знаю.
Аватара пользователя
mrcnn

Re: C/C++ - Как проверить нагрузку программы

Сообщение mrcnn »

Для замера времени на инструкцию в C/C++ есть программа от производителя отладчика Softice которая называется True Time
Аватара пользователя
DENoszone

Re: C/C++ - Как проверить нагрузку программы

Сообщение DENoszone »

НА счет вообще было сказано одним преподом в одном институте. "И самое главное правило - не пользуйтесь скобками они грузят программу" +)

а ссылочка есть? на программу
Аватара пользователя
Drongo

Re: C/C++ - Как проверить нагрузку программы

Сообщение Drongo »

Цитата DENoszone:



не пользуйтесь скобками
C/C++ - Как проверить нагрузку программы




А если нужнен расчёт по приоритету операции? Или чтобы последовательность вычисления была понятна читающему? Разумный подход должен быть.
Аватара пользователя
DENoszone

Re: C/C++ - Как проверить нагрузку программы

Сообщение DENoszone »

Так всетаки грузит???

к примеру если if одна строчка то можно и точнне нужно без скобок?
Аватара пользователя
Drongo

Re: C/C++ - Как проверить нагрузку программы

Сообщение Drongo »

Цитата DENoszone:



к примеру если if одна строчка то можно и точнне нужно без скобок?
C/C++ - Как проверить нагрузку программы




Так?



Код:

Код: Выделить всё

if(a < b)
   //одна строка
else{
   // строка
   // строка
 }

Если есть скобки, там где они не нужны, они называются избыточными, и не грузят они систему, а лишь точнее говорят о приоритете выполнения операторов или делают код читабельнее. Пример, вам нужно расчитать:



Код:

Код: Выделить всё

a + b * c - d / e;

Расчёт пройдёт так:



Код:

Код: Выделить всё

1. b * c
2. d / e
3. a + рузультат умножения b * c
4. результат сложения "a" c результатом умножения "b" * "c" - результат деления "d" / "e"

Попробуй сразу догадайся.



Код:

Код: Выделить всё

a + (b * c) - (d / e); // уже понятно

Кроме того, выставляя скобки, можно изменять приоритет расчёта.



Код:

Код: Выделить всё

((a + (b * c)) - (d / e)); // а так вообще всё понятно.

Хотя скобки избыточные, но они делают выражения ясным.
Аватара пользователя
DENoszone

Re: C/C++ - Как проверить нагрузку программы

Сообщение DENoszone »

Вывод: Если код программы видешь только ты и ты нормально понимаешь, то можно не пользоватся.

Но если код должен быть читабельным и работает не один программист - лучше скобки ставить.

Просто я вот хоте лпроверить написать код, провериьть нагрузку - потом убрать и проверить. Может оно будет не значительным, но в боьшом проекте эта цифра может вылезти в большую цифру.
Аватара пользователя
mrcnn

Re: C/C++ - Как проверить нагрузку программы

Сообщение mrcnn »

Цитата:



а ссылочка есть? на программу



VC 6.0 only

http://ifolder.ru/7241345
Ответить

Вернуться в «Программирование и базы данных»