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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
|| Flashka ||
2 / 2 / 0
Регистрация: 03.03.2010
Сообщений: 94
#1

Измерить время выполнения (сложение двух чисел) - C++

29.04.2012, 15:48. Просмотров 1943. Ответов 9
Метки нет (Все метки)

Вот у меня есть код, который выполняет сложение двух чисел.. Помогите вставить сюда GetTickCount и QueryPerformanceCounter.... Только нужно чтобы время вывелось у обеих функций в мкс!!
Помогите пожалуйста!!!=)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 11.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
 
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE,"Russian");
    float Q;
    float Q1;
    float rez_sum1;
 
    cout <<"\nПервое число с плавающей точкой: ";
    cin.clear();
    cin  >>  Q;
 
    cout <<"\nВторое число с плавающей точкой: ";
    cin  >> Q1;
 
    rez_sum1 = Q + Q1;
 
    cout << "\n" << rez_sum1 << "- Результат сложения\n";
    getchar();
    getchar();
    getchar();
}
Добавлено через 1 час 41 минуту
Ребят...Помогите пожалуйста! =(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 15:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Измерить время выполнения (сложение двух чисел) (C++):

Измерить время выполнения кода - C++
В C# такая классная вещь есть - Stopwatch, которая могла время измерять. В C++ же кроме clock() из хэдера ctime (что не очень удобно) я...

Как измерить время выполнения отдельного участка кода? - C++
Собственно возник вопрос, каким образом измерить время выполнения того или инного учатска кода?(На винде)

Вычислить сумму двух длинных бинарных чисел, используя сложение чисел в двоичной системе счисления - C++
Задано положительное и отрицательное число в двоичной системе.Составить программу вычисления суммы этих чисел, используя сложения чисел в...

Сложение двух чисел - C++
Условие задачи в её названии. Я так понимаю тут длинная арифметика. Во входном файле два целых неотрицательных числа A и B (A, B ≤...

Сложение двух чисел - C++
P.S Код должен выполнять аналогию сложения двух числе в столбик. Добавлено через 34 секунды

Сложение двух чисел - C++
Написать программу сложения двух чисел на Visual c++. Вот мой код. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

9
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,197
Завершенные тесты: 1
29.04.2012, 15:57 #2
В общем типа такого:
C++
1
2
3
4
5
6
7
8
9
LARGE_INTEGER time0;
LARGE_INTEGER time1;
LARGE_INTEGER freq;
Sleep(1);
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&time0);
...
QueryPerformanceCounter(&time1);
cout << (float)(time1.QuadPart - time0.QuadPart) / freq.QuadPart;
Но надо бы в цикле много раз сделать и вычислить среднее.
2
|| Flashka ||
2 / 2 / 0
Регистрация: 03.03.2010
Сообщений: 94
29.04.2012, 16:04  [ТС] #3
Somebody, я чайник в этих вопросах... Можно поподробнее? =)
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,197
Завершенные тесты: 1
29.04.2012, 16:26 #4
Вообще сложение двух чисел - не то, время выполнения чего стоит измерять, хотя бы потому, смысла в полученном результате будет немного. А так даже если будет что-то посложнее, на время влияет много разных факторов, так что... Что поподробнее? Просто надо много раз измерить время и посчитать среднее. Вот например:
Поиск в заданной строке последнего вхождения заданного символа
0
|| Flashka ||
2 / 2 / 0
Регистрация: 03.03.2010
Сообщений: 94
29.04.2012, 16:30  [ТС] #5
И еще... у меня таких мат-х операций 14.... в кейсах.. мне в каждую операцию добавлять обе эти функции?

Добавлено через 3 минуты
А как насчет вот этой функции GetTickCount?
Она изначально же не мкс измеряет... Как мне сделать, чтоб она в мкс выдала результат?
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
29.04.2012, 16:47 #6
Цитата Сообщение от || Flashka || Посмотреть сообщение
А как насчет вот этой функции GetTickCount?
Она изначально же не мкс измеряет... Как мне сделать, чтоб она в мкс выдала результат?
Умножить результат функции GetTickCount() на 1000.
1
|| Flashka ||
2 / 2 / 0
Регистрация: 03.03.2010
Сообщений: 94
30.04.2012, 11:14  [ТС] #7
Не... Так не получается! Ведь при измерении в миллисекундах будет 0... Поэтому на что не умножай, все равно 0.... Как-то по-другому надо....=(
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
30.04.2012, 15:02 #8
По-другому в микросекундах с помощью GetTickCount() не измерить.
Как тебе уже говорили, задай N-ое количество итераций, так будет точнее, общее время выполнения можно будет поделить на N чтобы получить время одной итерации в микросекундах.
0
|| Flashka ||
2 / 2 / 0
Регистрация: 03.03.2010
Сообщений: 94
06.05.2012, 16:38  [ТС] #9
Так а какая разница один мне раз выведется вр выполнения ноль или N кол раз....
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
08.05.2012, 22:27 #10
Цитата Сообщение от || Flashka || Посмотреть сообщение
Так а какая разница один мне раз выведется вр выполнения ноль или N кол раз....
Грубо говоря, если время выполнения операции сложения равно 10 микросекундам, то замерив одну операцию с помощью GetTickCount() ты получишь 0 (ms).
Если ты замеришь миллион операций сложения этой же функцией то получишь 10 000 миллисекунд. 10 000 / 1000 (кол-во микросекунд в миллисекунде) = 10 микросекунд.
Понял!?
1
08.05.2012, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 22:27
Привет! Вот еще темы с ответами:

Сложение двух чисел - C++
Сложение двух чисел. Как, если оба числа в диапазоне от 0 до 2*10^9 ? Если складывать 2*10^9 + 2*10^9 то long int не справляется((

Сложение двух длинных чисел. - C++
всем привет. как вы считаете, каким способом лучше сделать? или абсолютно всеравно?) #include &lt;iostream&gt; #include &lt;string&gt; ...

Рекурсия: сложение двух чисел - C++
Написать рекурсивную программу сложения двух чисел........ помогите срочно нужно

Сложение двух чисел на TurboC++ - C++
Всем привет! Подскажите, в чем ошибка с переменной с? Вот скрины - Коды программ надо переписывать в тему!


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

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

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