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

Замер времени - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
ramses
-2 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 55
13.06.2011, 22:18     Замер времени #1
Работает через раз.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <conio.h>
#include <iostream>
#include <time.h>
#include <windows.h>
 
using namespace std;
 
int _tmain() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int start, end;
    
    start = clock();
    cout << "Тест." << "\n";;
    end = clock();
    
    cout << start << " " << end << " " << end-start;
    
    _getch();
    
    return 0;
}
И ещё вопрос. Цитата из Википедии:

"CLOCKS_PER_SEC
Определяет количество тактов системных часов в секунду. Используется для пересчета величины, возвращаемой функцией clock(), в секунды."

У меня она равна 1000. Другими словами, clock() возвращает время в миллисекундах?

Добавлено через 6 минут
И как относится к этой величине: как к реальной скорости выполнения на конкретном оборудовании или к как нечто абстрактному?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 22:18     Замер времени
Посмотрите здесь:

Служба времени C++
Софтварный замер напряжения C++
Замер времени(тактов процессора) выполнения процедуры C++
Замер времени вычисления C++
C++ Задержка времени
C++ Замер времени выполнения программного кода
C++ Замер количества тактов исполнения через rdtsc()
Замер выполнения отрезка кода в микросекундах C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,217
Завершенные тесты: 1
13.06.2011, 22:30     Замер времени #2
clock() возвращает приблизительное значение времени работы вызывающей программы. чтобы преобразовать в секунды его нужно разделить на CLOCK_PER_SEC.
ramses
-2 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 55
13.06.2011, 22:48  [ТС]     Замер времени #3
Такой вариант работает без проблем.
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
#include <conio.h>
#include <iostream>
#include <time.h>
#include <windows.h>
 
using namespace std;
 
int _tmain() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int start, end;
    
    cout << "Нажмите Enter для начала замера, а затем и для выхода из него." << "\n";
    getch();
    
    start = clock();
    getch();
    end = clock();
    
    cout << "Прошло времени: " << end-start << " мс.";
    
    getch();
    
    return 0;
}
Добавлено через 1 минуту
Это я понимаю, для чего она нужна. Только почему первый sketch работает через раз?

Добавлено через 2 минуты
Ведь вывод в консоль не настолько уж мгновенен..
Yandex
Объявления
13.06.2011, 22:48     Замер времени
Ответ Создать тему
Опции темы

Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru