Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
vinograd
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 7
#1

Замер времени работы алгоритма подскажите - C (СИ)

14.09.2012, 23:53. Просмотров 3307. Ответов 9
Метки нет (Все метки)

как реализовать на C?

я делал по методу:
C
1
2
3
4
5
6
7
8
clock_t start,end;
start=clock();
 
//алгоритм
  end=clock();
    t=(end-start);
 
printf("time %d", t);
НО не считает время почему-то...
Подскажите пожалуйста, в чем затуп? Может есть какие-то другие методы замера времени? спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 23:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Замер времени работы алгоритма подскажите (C (СИ)):

Замер времени работы участка кода
Сразу скажу что меня не интересуют стандартные замеры времени роботы участка...

Замер времени работы функции через clock()
Имеется некая функция, требуется замерить время её выполнения. Накидал такой...

Замер времени работы макроса на каждом шаге - как сделать?
Возможно ли отследить какой блок кода сколько времени исполняется? Было бы,...

Определение времени работы алгоритма
Помогите надо определить время работы алгоримта Boolean: Function (integer:...

Замер выполнения алгоритма!
Здравствуйте! В свете недавнего релиза Java 8 захотелось сделать сравнение...

Замер времени
Работает через раз. #include <conio.h> #include <iostream> #include <time.h>...

9
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
15.09.2012, 00:15 #2
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void)
{
    time_t start, end;
 
    start = time(NULL);
    if (start == (time_t)-1) {
        printf("Sorry, the time is unavailable on this system\n");
        exit(EXIT_FAILURE);
    }
 
    printf("Please wait a few seconds and then press your ENTER/RETURN key");
    fflush(stdout);
 
    getchar();
 
    end = time(NULL);
    printf("\nThe interval was %.2f seconds\n", difftime(end, start));
 
    return 0;
}
0
Elboy
131 / 112 / 11
Регистрация: 01.09.2012
Сообщений: 288
15.09.2012, 00:15 #3
Считает, но выведет 0, т.к. программа ваша программа работает считанные микросекунды. Здесь нужны библиотеки, с помощью которых вы сможете получить время хотя бы до миллисекунд. Вы под что пишите?
0
vinograd
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 7
15.09.2012, 00:23  [ТС] #4
Цитата Сообщение от Elboy Посмотреть сообщение
Считает, но выведет 0, т.к. программа ваша программа работает считанные микросекунды. Здесь нужны библиотеки, с помощью которых вы сможете получить время хотя бы до миллисекунд. Вы под что пишите?
да, вот мне именно это и надо.
пишу на C, Code Blocks, Windows 7
0
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
15.09.2012, 00:34 #5
для миллисекунд

C
1
2
3
4
5
    clock_t time;
    time=clock();
 
    time = clock() - time;
    printf("%f", (double)time/CLOCKS_PER_SEC);
1
Elboy
131 / 112 / 11
Регистрация: 01.09.2012
Сообщений: 288
15.09.2012, 00:37 #6
Цитата Сообщение от defer Посмотреть сообщение
CLOCKS_PER_SEC
до секунд

Добавлено через 53 секунды
Цитата Сообщение от vinograd Посмотреть сообщение
да, вот мне именно это и надо.
Сомневаюсь, что это возможно. Не для таких целей создавался Win, чтобы с точной до микросекунд можно было определять время на С.
У *nix без проблем.
0
Gepar
1181 / 537 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
15.09.2012, 17:35 #7
Цитата Сообщение от Elboy Посмотреть сообщение
Сомневаюсь, что это возможно. Не для таких целей создавался Win, чтобы с точной до микросекунд можно было определять время на С.
Да неужели? Ваше не знание чего-то это не ошибка MS.
Цитата Сообщение от Elboy Посмотреть сообщение
до секунд
А вы сначала проверьте.
0
Elboy
131 / 112 / 11
Регистрация: 01.09.2012
Сообщений: 288
15.09.2012, 22:57 #8
Цитата Сообщение от Gepar Посмотреть сообщение
Да неужели? Ваше не знание чего-то это не ошибка MS.
О какой ошибке MS идёт речь???
Буду вам премного благодарен, если вы продемонстрируете, как на языке Си под Win можно получить время до микросекунд.
0
vinograd
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 7
16.09.2012, 14:30  [ТС] #9
спасибо всем за ответы! ))
если у кого-то еще будут мысли - пишите, буду благодарен
0
vinograd
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 7
17.09.2012, 19:06  [ТС] #10
можно и на C++ в принципе
0
17.09.2012, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2012, 19:06
Привет! Вот еще темы с решениями:

замер времени
Здравствуйте, необходимо считать время выполнения блоков в delphi, сначала...

Замер времени
Здравствуйте, уважаемые! Замерял время исполнения кода (рекурсия с разными...

Запишите рекуррентное уравнение для времени работы этой рекурсивной версии алгоритма сортировки вставкой
Как записать рекуррентное уравнение для времени работы . Сортировку вставкой...

Замер времени рисования
Доброго времени суток. Собственно задача состоит в том, чтобы измерить время за...


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

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

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