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

Будет ли такой подсчет числа тактов корректно работать на x86_64? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Организовать арифметику класса ( сложение вычитание и сравнение) в виде именованных функций, сохраняющих результат в объекте «this» http://www.cyberforum.ru/cpp-beginners/thread1043474.html
#include <cstdlib> #include <iostream> #include <Windows.h> using namespace std; class String { private: char* str;
C++ Задачи с использованием break и continue Добрый день :3 Нубному-нубу нужна помощь в решении двух задач - одну с использованием break, вторую с использованием continue. Помогите, пожалуйста :3 1. Разработайте программу, которая определяет задуманное число с 10 (n) попыток. Задуманное число оформляется в виде поименованной константы. При необходимости предусмотреть проверку исходных данных. (В программе используется оператор break).... http://www.cyberforum.ru/cpp-beginners/thread1043473.html
C++ Написать программу использую метод бинарной вставки
Написать программу, для упорядочивания товаров на складе. Пользователь вводит количество наименований товаров, количество и стоимость единицы каждого товара. Затем программа упорядочивает товары по общей стоимости, имеющегося в наличии на складе в порядке убывания методом бинарной вставки. Сортировку и расчет стоимости товаров на складе оформить в виде функций.
Вывести номер последнего из элементов массива, удовлетворяющего двойному неравенству C++
Помогите с решением задачи на С++ Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов AK, которые удовлетворяют двойному неравенству A1 < AK < A10. Если таких элементов нет, то вывести 0.
C++ Ошибка в программе http://www.cyberforum.ru/cpp-beginners/thread1043462.html
Доброе утро, уважаемые программисты. Прошу у вас помощи: выбивает ошибку. Спасибо #include <iostream> #include <math.h> using namespace std; void getParam(double &xStart, double &xLast, double &dX, double &E); void calc(double &xStart, double &xLast, double &dX, double &E); double getSum(double &x, double &E, int &num); void echo(double &x, double &res, int &num, int type = 1);
C++ Как переделать под динамическое программирование? Есть одномерный массив длиной N, заполненный числами от -10 до 10. Найти максимальную сумму, если можно брать следующий элемент, или через один. Условие сделать рекурсию и сократить количество вызовов с помощью динамического программирования.:wall: #include <iostream> #include <cstdlib> using namespace std; int f(int m, int n, int i = 0, int sum = 0) { int a = -20, b = -20; if (i + 2 < n)... подробнее

Показать сообщение отдельно
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
17.12.2013, 06:23     Будет ли такой подсчет числа тактов корректно работать на x86_64?
будет ли вот эта штука(код для подсчёта тактов) корректно работать на x86_64 ?
Возникли сомнения т.к. в одном и том же коде каждый раз при запуске выводит разное количество тактов. Отличие порой на один порядок. Я понимаю, что процессор чередует выполнение, но отличие на порядок.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
long long TimeValue=0;
 
unsigned long long time_RDTSC()
 
{ union ticks
 
  { unsigned long long tx;
 
    struct dblword { long tl,th; } dw; // little endian
 
  } t;
 
  asm("rdtsc\n": "=a"(t.dw.tl),"=d"(t.dw.th));
 
  return t.tx;
 
} // for x86 only!
 
void time_start() { TimeValue=time_RDTSC(); }
 
long long time_stop() { return time_RDTSC()-TimeValue; }
Добавлено через 7 часов 14 минут
тема актуальна

Добавлено через 12 часов 10 минут
тема актуальна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru