Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

ну, например, для кварцевых часов с вики

Электронная часть часов состоит из генератора колебаний, стабилизированных кварцевым резонатором и делителя. Частота колебаний генератора, как правило, равна 32 768 Гц, что соответствует периоду колебаний — 2−15 секунды.

 

итого всё, что быстрее 30*10^-6 секунды для кварцевых часов произошло в 1 момент времени. Он никак не определит разницу.

 

У компа есть свои источники данных. Самый примитивный в винде GetTickCount() который возвращает значение счетчика, который вызывается виндой при каждой операции. Его разрешающая способность вроде около 10мс и дальше он все числа выдумывает, условно.

 

Есть QueryPerfomanceCounter, самое быстрое что может быть на винде, который при наличии аппаратных таймеров смотрит в них. Там разрешающая способность следовательно определяется собственно этим аппаратным таймером, что значит, зависит от твоего компа.

QueryPerfomanceFrequency возвращает это значение. На моем компе обещает сообщать с точностью до 2728193 раз в секунду, то есть примерно 0,37 микросекунд.

 

Круче этого способов узнать время точнее нет.

 

Да и ходить по нижней границе счетчика тоже хуево. Лучше запустить цикл на 10к операций одинаковых и потом поделить результат на 10к

 

Но тут тоже есть своя проблема. Цикл по-другому использует кэш процессора, да и в принципе цикл добавляет лишнюю проверку каждый раз, что в зависимости от оптимизаций компилятора может приводить к сбросам конвейера цп.

 

 

Всё хуево, миша.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

Я нихуя не понял, щас домой приду и буду копать все это. Спасибо


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение
(изменено)

если разрешающей способности таймера не хватает, всегда можно запустить больше итераций в цикле и потом поделить время.

Вот это не понял. Я тоже объяснил проблему преподу, он спросил типа смотрел ли я разрешающую способность тамера, спросил что он имеет в виду, молчит. Можешь объяснить?

Бладж, clock_t это кол-во тактов процессора, меньше уже быть не может. Т.е. либо ты че то не так написал, либо вижла фигня. У меня в C и без вижлы, отлично возвращается разница двух клоков.

 

Declaration:

clock_t clock(void);

Returns the processor clock time used since the beginning of an implementation-defined era (normally the beginning of the program). The returned value divided by CLOCKS_PER_SEC results in the number of seconds. If the value is unavailable, then -1 is returned.

 

 


Изменено пользователем .felix

Поделиться сообщением


Ссылка на сообщение

не понял говрит. может не надо куда? там народ сайтики клепает и нормально им вроде

Поделиться сообщением


Ссылка на сообщение

Лучше запустить цикл на 10к операций одинаковых и потом поделить результат на 10к

это же вообще ничего не гарантирует

ну типа твой поток вытеснили с ядра по какойто причине в середине цикла и всё труба


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

не понял говрит. может не надо куда? там народ сайтики клепает и нормально им вроде

ты злой какой то

Поделиться сообщением


Ссылка на сообщение
не понял говрит. может не надо куда? там народ сайтики клепает и нормально им вроде

не, ну я конечно понимаю что опыт плюсов прямо пропорционален ЧСВ, но можно без оскорблений плез? я не владею STL практически ни на каком уровне, сори

твой вариант тоже выводит сомнительный результат


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

Лучше запустить цикл на 10к операций одинаковых и потом поделить результат на 10к

это же вообще ничего не гарантирует

ну типа твой поток вытеснили с ядра по какойто причине в середине цикла и всё труба

ну так не надо в этот момент стрим с дотой запускать

 

когда у тебя единственный процесс, грузящий цп на сотню так работает, погрешность будет не большая

тем более, таких тестов еще и несколько штук запускают.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
не понял говрит. может не надо куда? там народ сайтики клепает и нормально им вроде

не, ну я конечно понимаю что опыт плюсов прямо пропорционален ЧСВ, но можно без оскорблений плез? я не владею STL практически ни на каком уровне, сори

твой вариант тоже выводит сомнительный результат

изучай джаваскрипт тада)))

или питошку))

изучать с++ без хороших базовых знаний в остальных вещах, это всеравно что пытаться из куска плутония сделать атомную электростанцию


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

че? ты это к чему вообще написал


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

тебе и это объяснять :hmpalm:


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

т.е. знание STL это чето свыше? тип если внутривенно ввели STL, то можно плюсы юзать, а если нет то жс, ну окей, найс логика :avtorklif:


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

1. разрешающая способность таймера - это пиздец какое тривиальное определение. чего тут можно не понимать. (или ты о том чтобы в несколько циклов все сделать и потом разделить? так это еще проще)

2. СТЛ внутривенно? что простите? стл хуйня, в любом требовательном по производительности софте ее не юзают в боттлнеках. но если ты даже в стл не врубаешь то сори, ничего проще там нету в плюсах. проще стл это С. попробуй

Поделиться сообщением


Ссылка на сообщение

я говорю про то, что у меня нету в ней опыта, поэтому сразу и нету решения этой задачи в голове.

а про стл внутривенно это я челу пояснял какого хуя мне не стоит заниматься плюсами, раз я не шарю именно в стл.


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

я говорю про то, что у меня нету в ней опыта, поэтому сразу и нету решения этой задачи в голове.

нету опыта в чем? в разрешающей способности таймера?

Поделиться сообщением


Ссылка на сообщение
(изменено)

я говорю про то, что у меня нету в ней опыта, поэтому сразу и нету решения этой задачи в голове.

нету опыта в чем? в разрешающей способности таймера?

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

кароч пососакал то, что сказал кант, похоже на правду вроде (получилось)


Изменено пользователем Matgen

Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

я говорю про то, что у меня нету в ней опыта, поэтому сразу и нету решения этой задачи в голове.

а про стл внутривенно это я челу пояснял какого хуя мне не стоит заниматься плюсами, раз я не шарю именно в стл.

твоя проблема в том что ты у преподавателя спрашиваешь про разрешающую способность таймера, не понял того что тебе писал кант про операционки, такты, таймеры и тд

и самое главное

что ты продолжаешь сидеть здесь и задавать глупые вопросы, хотя мог сесть и просто погуглить, почитать библиотеку/гайды на нее/туториалы/референсы и тд

ну поначалу все так

исправляйся )


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

Я был в дороге, поэтому и написал, что приду домой буду разбираться, пришёл и разобрался. Нахера ты продолжаешь гнуть свою линию, я хз. И продолжения глупых вопросов от меня тоже не видно


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

Лучше запустить цикл на 10к операций одинаковых и потом поделить результат на 10к

это же вообще ничего не гарантирует

ну типа твой поток вытеснили с ядра по какойто причине в середине цикла и всё труба

ну так не надо в этот момент стрим с дотой запускать

 

когда у тебя единственный процесс, грузящий цп на сотню так работает, погрешность будет не большая

тем более, таких тестов еще и несколько штук запускают.

эти стримы с дотой вообще больная тема. почему флеш в браузере такой уебищный, и даже для простейших операций грузит все просто ебануться как.

правда, поставил livestreamer с twitch gui, вроде полегчало.

Поделиться сообщением


Ссылка на сообщение

Твич с html5 плеером вроде как работает получше чем флеш. Но все равно пиздец, да, жутко замедляет систему. 3 sourse стрима одновременно на моем компе - даже открытие страничек в интернетах начинает тормозить.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...