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

Измеряем время выполнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ нужен совет по написанию кода http://www.cyberforum.ru/cpp-beginners/thread342317.html
Здравствуйте уважаемые программисты начинающие и специолисты у меня к вам очень волнующий для меня вопрос мне нужна информация по переводу функций пример типо cin.get ( ); - эта функция торможения,ожидает ввод при вводе тоесть нажатии enter программа закрываеться или вот ещё #include <windows.h> int main () { SetConsoleCP(1251);
C++ контейнер -вектор вложеный в вектор Помогите, пожалуйста найти ошибку. Есть строка типа string - обычное предложение из слов, разделённые пробелами. Мне нужно записать это предложение в вектор, который сам состоит из векторов типа char. т. е. каждый вложеный вектор типа char - это отдельное слово из исходного предложения. И вывести третий элемент внешнего вектора слово на экран - т. е. 3-е слово исходного предложения. Я... http://www.cyberforum.ru/cpp-beginners/thread342305.html
Поделитесь опытом! C++
Ктонить вкурсе как создать программу для ввода пароля например При нажатие на папку которая содержит музыку в компьюторе выводилось табло введите пароль
C++ Программа с заголовочным файлом (с++)
Всем Привет! Недавно стал изучать использование заголовочных файлов в с++ и столкнулся с проблеммой. Написал вот такую программу (она бессмысленая, просто у меня в нормальной программе такаяже фигня) из двух файлов, но компиль ругается. В чем я ошибся и как исправить? Вот заголовочный файл: //файл attach.h int a, b; a = b = 0; Вот главный файл: //файл main.cpp #include "attach.h"...
C++ Cоздание простой игры http://www.cyberforum.ru/cpp-beginners/thread342259.html
я знаю как создать движок игре а как реализовать графику без DirectX opengl qt ...cделать черно белую игру ?????
C++ как сделать так, чтобы файл открывался, к примеру по тройному или четверному щелчку мыши? Друзья, есть какие-нибудь соображения? А то по умолчанию в винде файлы открываются по двойному щелчку, а я сделал чтобы открывались по одинарному. Но мой родственник в поклонении Гейтсу дошёл до маразма- договорился до того, что два раза на кнопку легче нажимать чем один. Вот хочу его проучить. Пусть придёт ко мне сядет за комп и открывает файлы четырмя щелчками. Есть соображения какие-нибудь? подробнее

Показать сообщение отдельно
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
15.08.2011, 23:45     Измеряем время выполнения
Иногда нужно узнать сколько времени выполняется функция или сравнить алгоритмы по скорости работы.
Вот примеры того, как это можно сделать.

->Использовать следующий класс(CTimer.rar)
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include "CTimer.h"
 
int main()
{
    CTimer Time;
    Time.Start();
    
    /*
    код или вызов функции, время исполнения
    которой нужно измерить
    */
    
    Time.End();
    std::cout << Time.GetTimeInSeconds() 
          << " seconds" << std::endl;
    return 0;   
}
файл CTime.h из вложения нужно поместить в папку с кодом вашей программы или просто добавить в нее этот
код
#include <windows.h>

class CTimer
{
public:
CTimer()
{
QueryPerformanceFrequency(&mqFreq);
}
~CTimer() {}

void Start()
{
QueryPerformanceCounter(&mqStart);
}
void End()
{
QueryPerformanceCounter(&mqEnd);
}
double GetTimeInSeconds()
{
return (mqEnd.QuadPart - mqStart.QuadPart)/static_cast<double>(mqFreq.QuadPart);
}
private:
LARGE_INTEGER mqStart;
LARGE_INTEGER mqEnd;
LARGE_INTEGER mqFreq;
};


->Еще вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <ctime>
 
int main()
{
    const clock_t start = clock();
    
    /*
    êîä èëè âûçîâ ГґГіГ*êöèè, âðåìÿ èñïîëГ*ГҐГ*ГЁГї
    êîòîðîé Г*ГіГ¦Г*Г® èçìåðèòü
    */
    
    const double time = static_cast<double>(clock() - start) / CLOCKS_PER_SEC;
    std::cout << time << " seconds" << std::endl;
    return 0;   
}
->Используя Boost
C++
1
2
3
4
boost::posix_time::ptime start = boost::posix_time::second_clock::local_time();
//действие...
boost::posix_time::ptime end = boost::posix_time::second_clock::local_time();
std::cout << (end - start).total_seconds() << std::endl;
---
ссылка на MSDN
->предлагайте еще варианты, кроме:
1.Взять секундомер
2.Запустить программу и нажать "старт"
3.????
4.PROFIT
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru