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

C для начинающих

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

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

14.09.2012, 23:53. Просмотров 2993. Ответов 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 (СИ)):

Замер времени работы участка кода - C++
Сразу скажу что меня не интересуют стандартные замеры времени роботы участка кода, так как они показывают время роботы данного участка кода...

Замер времени работы функции через clock() - C++
Имеется некая функция, требуется замерить время её выполнения. Накидал такой код : #include <iostream> #include <stdint.h> ...

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

Определение времени работы алгоритма - Алгоритмы
Помогите надо определить время работы алгоримта Boolean: Function (integer: array) for i=0 to <наибольший индекс массива> - 1 ...

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

Замер времени - C++
Работает через раз. #include <conio.h> #include <iostream> #include <time.h> #include <windows.h> using namespace std; ...

9
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
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 / 4
Регистрация: 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
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
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 / 4
Регистрация: 01.09.2012
Сообщений: 288
15.09.2012, 00:37 #6
Цитата Сообщение от defer Посмотреть сообщение
CLOCKS_PER_SEC
до секунд

Добавлено через 53 секунды
Цитата Сообщение от vinograd Посмотреть сообщение
да, вот мне именно это и надо.
Сомневаюсь, что это возможно. Не для таких целей создавался Win, чтобы с точной до микросекунд можно было определять время на С.
У *nix без проблем.
0
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
15.09.2012, 17:35 #7
Цитата Сообщение от Elboy Посмотреть сообщение
Сомневаюсь, что это возможно. Не для таких целей создавался Win, чтобы с точной до микросекунд можно было определять время на С.
Да неужели? Ваше не знание чего-то это не ошибка MS.
Цитата Сообщение от Elboy Посмотреть сообщение
до секунд
А вы сначала проверьте.
0
Elboy
131 / 112 / 4
Регистрация: 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
Здравствуйте, необходимо считать время выполнения блоков в delphi, сначала пытался по алгоритму ...

Замер времени вычисления - C++
Предположим, я хочу определить время &quot;прокрутки&quot; цикла (или другого процесса). Я знаю два способа. первый - основан на измерении...

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

Осуществить замер времени for и while - C++
Здравствуйте! Условие задачи: Написать программу выводящее на экран любое текстовое сообщение 100 раз. Вывод осуществить с помощью for...


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

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

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