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

Как измерить скорость работы кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Окружности и треугольник! http://www.cyberforum.ru/cpp-beginners/thread66787.html
Даны вещественные числа x1,y1,x2,y2,x3,y3. Каждая пара чисел xi,yi, где i=1,2,3, определяет координаты одной из вершин плоского треугольника. Вычислить координаты центра и радиус окружности,...
C++ C++. Массив У прилавка выстроилась очередь из N покупателей. Время обслуживания продавцом каждого покупателя в минутах занесено в вещественный массив T. Получить массив С, содержащий время пребывания каждого... http://www.cyberforum.ru/cpp-beginners/thread66785.html
C++ Код не компилируется
Объясните пож-та, почему код не компилируется: // File Output.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <fstream> #include <iostream>...
C++ открыть N штук файлов
не могу разобраться как можно открыть для записи (создать) N штук файлов за один цикл. N задается пользователем. имена файлов должны задаваться так же пользователем и в цикле,но с этим проблем нет....
C++ массивы http://www.cyberforum.ru/cpp-beginners/thread66761.html
всем доброго времени суток!! прошу помощи у ассов этого дела(:2. Вычислить , Sn+So/Kn+Ko где Sп и Kп – сумма и количество положительных элементов массива А (70), а Sо и Kо – сумма и количество...
C++ Нужен код, нуждающийся в оптимизации ребята - несколько необычная просьба - у кого нибудь может есть небольшой по объему ( меньше 500-600 строчек) код, написанный как можно кривее (правда при этом чтоб работал правильно) - мне нао... подробнее

Показать сообщение отдельно
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
24.11.2009, 14:12
Цитата Сообщение от nill Посмотреть сообщение
Хочу оптимизировать свой код и найти самые медленные места
Можно как то измерить к примеру сколько времени занимает выполнение отдельного цикла или функции ?
Да, можно. Разумеется с поправкой на само измерение. Во первых можно погуглить запрос QueryPerformanceFrequency, во вторых использовать Rdtsc.

замечание:
1. QueryPerformanceFrequency имеет очень долгий "оверхед" - порядка 1мкс..
2. Вариант на вики для для MS Visual C++, для g++ будет что-то подобное:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
static inline unsigned long long int tick() 
{
unsigned long long int d;
__asm__ __volatile__ ("rdtsc" : "=A" (d) );
return d;
}
 
int main()
{
    unsigned long long int a = 0;
    a=tick();
    cout<<endl<<a<<endl;
    a=tick();
    cout<<a<<endl;
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru