Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Serejke_qq
150 / 108 / 40
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
04.02.2012, 00:59 0

Как замерить длительность выполнения кода?

04.02.2012, 00:59. Просмотров 3375. Ответов 6
Метки (Все метки)

Ответ

Цитата Сообщение от xxbesoxx Посмотреть сообщение
не понял подробно пожалуйста
м?) выше приведенный код замеряет время выполнения участка кода..
например этот не очень красивый код:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void sort(int * arr, int n);
void show(int * arr, int n);
 
int main()
{
    clock_t start, end;
 
    int n;
    int * arr;
 
    scanf("%d",&n);                             // Ввод размера массива
 
    arr = (int *)malloc(n * sizeof(int));       // Выделяем память под элементы
    
    srand(time(NULL));
 
    for(int i=0; i<n; i++)                      // Рандомный ввод массива
        arr[i] = rand()%50;
 
    show(arr,n);
 
    printf("\n---------------------\n");
 
    start = clock();
    
    sort(arr,n);                                // Замеряем данный кусок (сортировка)
 
    end = clock();
 
    show(arr,n);  
 
    printf("\nThe above code block was executed in %.4f second(s)\n", ((double) end - start) / ((double) CLOCKS_PER_SEC));
 
    free(arr);    // Чистим память
 
    return 0;
}
 
// ---------------------------------- //
 
void show(int *arr, int n)
{
    for(int i=0; i<n; i++)
        printf("%d ",arr[i]);
}
 
void sort(int * arr, int n)
{
    int temp;
    for(int j=0; j<n; j++)
        for(int i=0; i<n; i++)
        {
            if(arr[i] > arr[i+1])
            {
                temp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = temp;
            }
        }
}
Данный код измеряет время выполнения сортировки методом пузырька..

Вернуться к обсуждению:
Как замерить длительность выполнения кода?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 00:59
Готовые ответы и решения:

Как с точностью до микросекунд замерить время выполнения функции?
Товарищи, подскажите, как с точностью до микросекунд замерить время выполнения...

Как измерить время выполнения отдельного участка кода?
Собственно возник вопрос, каким образом измерить время выполнения того или...

Сравнение времени выполнения кода на C, C++ и C#: как доказать какой язык производительнее?
Всем привет. Возникла проблема. Надо произвести сравнение производительности...

Как замерить время работы функции?
функция time не подходит, потому что нужна точность хотя бы до 1 милисекунды.

Как сделать длительность цикла по количеству названий записанных в файл?
Как сделать длительность цикла по количеству названий записанных в файл?

6
Другие темы раздела
C++ Как вставить в двумерный массив "1" случайным образом? http://www.cyberforum.ru/cpp-beginners/thread440554.html
В двумерный массив определенного диапазона (рандомная формула не проблема) нужно вставить число 1, причем случайным образом. Есть ли какая-то специальная формула, или после создания массива, таким...
C++ Опpеделить значения вещественного массива по правилу Даны вещественные массивы A, B. Опpеделить значения вещественного массива C по правилу: C = сумме i-й строки массива A при B>0 C=0 B=0 C=A+A B<0 Значение переменной i изменяется от 0 до 4. http://www.cyberforum.ru/cpp-beginners/thread440546.html
C++ Функции.Перебор с возвратом
Доброго времени суток Вам, уважаемые форумчане. Не получается решить универскую задачку повышенного уровня :( Подскажите, пожалуйста. Необходимо написать функцию для решения вот этой задачи:...
Дешифровать заданный текст, используя таблицу ASCII-кодов C++
Помогите составить программу чтобы дешифровать данный текст, используя таблицу ASCII-кодов: 8A AE AC AF EC EE E2 A5 E0.
C++ Благодарность http://www.cyberforum.ru/cpp-beginners/thread440524.html
Я бы хотел поблагодарить пользователей форума, которые помогли мне когда я только пришел на форум и с пониманием отнесли к хамству и полоумным бредням новичка. Я бы хотел попросить прощения за мое...
C++ Unresolved external symbol В общем, стандартная ошибка линкера: 5>lib1.lib(a.obj) : error LNK2001: неразрешенный внешний символ "_lol" В a.c написана следующая строка: extern short lol; В b.c написано: подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru