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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
tarik762
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
#1

Замерить время? - C++

03.12.2010, 16:07. Просмотров 1300. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста, как замерить время выполненияи нструкции вплоть до наносекунд на Borland C++ 3.1 и только на етом компиляторе. Фунуция RDTSC не работаєт так как она оперируєт с 64 битными данными, а компилятор с 32 максимум.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2010, 16:07     Замерить время?
Посмотрите здесь:

как с точностью до микросекунд замерить время C++
Как замерить длительность выполнения кода? C++
Время C++
C++ Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.
C++ Как замерить время работы функции?
C++ Время в С++
C++ Написать программу вычисления величины дохода по вкладу. Процентная ставка (% годовых) и время хранения (дней) задаются во время работы программы
C++ Замерить время вычислений
C++ Записи. Дано время t1 и время t2. Определить, сколько времени пройдет от t1 до t2
Определить общее число и общее время удалений за время матча C++
Выводить текущее время в определенные позиции консоли во время работы C++
C++ Ввести время и от него отнять системное время

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
03.12.2010, 16:11     Замерить время? #2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
 function RDTSC: comp;
 var TimeStamp: record case byte of
                  1: (Whole: comp);
                  2: (Lo, Hi: cardinal);
                end;
 begin
   asm
     db $0F; db $31;
     mov [TimeStamp.Lo], eax
     mov [TimeStamp.Hi], edx
   end;
   Result := TimeStamp.Whole;
 end;
Результат возвращается в регистрах eax и edx.
tarik762
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
03.12.2010, 16:33  [ТС]     Замерить время? #3
Цитата Сообщение от Sudoki Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
 function RDTSC: comp;
 var TimeStamp: record case byte of
                  1: (Whole: comp);
                  2: (Lo, Hi: cardinal);
                end;
 begin
   asm
     db $0F; db $31;
     mov [TimeStamp.Lo], eax
     mov [TimeStamp.Hi], edx
   end;
   Result := TimeStamp.Whole;
 end;
Результат возвращается в регистрах eax и edx.
Спасибо но мне нужно у Borland C++ 3.1 а не на паскале
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
03.12.2010, 16:40     Замерить время? #4
Делайте вставку у себя в программе. Это просто пример.
tarik762
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
03.12.2010, 16:45  [ТС]     Замерить время? #5
Borland C++ не видит 64битных регистров!!! Только ax,dx,bx,cx......
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
03.12.2010, 16:47     Замерить время? #6
почитай про таймеры.

Добавлено через 10 секунд
В MSDOS

Добавлено через 34 секунды
Цитата Сообщение от tarik762 Посмотреть сообщение
Borland C++ не видит 64битных регистров!!! Только ax,dx,bx,cx......
Это не 64 а 16 битные регистры
Yandex
Объявления
03.12.2010, 16:47     Замерить время?
Ответ Создать тему
Опции темы

Текущее время: 14:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru