Свежие комментарии

Title Comment
ну так я способ опроса процессора и описал :) ну откуда же

ну так я способ опроса процессора и описал :)

ну откуда же ему знать?
ему на вход какую-то частоту подали, в регистры pll
множитель с делителем прописали и работай, мужичина!

о частоте только мать с биосом знать могут.

правильный путь снятия метрик -- использование аппаратных pm

правильный путь снятия метрик -- использование аппаратных pmc счетчиков.
доступ к оным есть на винде и freebsd. для линуха скорее всего тоже есть.
по ссылке про оные на mac os (по крайне мере как исходная точка).

Да, уже посоветовали комментом выше. Похоже, это оно самое и

Да, уже посоветовали комментом выше. Похоже, это оно самое и есть.

Полет твоей мысли от меня ускользает

Полет твоей мысли от меня ускользает

developer.apple.com/library/mac/#documentation/DeveloperTool

developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/SharkUserGuide/AdvancedHardwareCounterConfiguration/AdvancedHardwareCounterConfiguration.html

Если мы даже огранимся x86, то есть процессоры с стабильной

Если мы даже огранимся x86, то есть процессоры с стабильной частотой, с нестабильной и с константной (частота нестабильная, но процессор делает вид что стабильная, потому TSC может прыгать). А еще TSC может расходиться между cores, хотя в новых процессорах это уже починили

Лезть в это нет никакого смысла, кернел уже позаботился и засунул все в CLOCK_MONOTONIC

Ага, спасибо. Судя по man - то что надо.

Ага, спасибо.
Судя по man - то что надо.

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

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

И мне хотелось бы их иметь и на маке тоже. В частности, по той причине, что относительно слабые машины у меня в доме - именно маки.

это же часть ОС, верно? У процессора никак нельзя спросить?

это же часть ОС, верно?

У процессора никак нельзя спросить?

но опять же -- зачем? и разрешение и упор на оверхеде

но опять же -- зачем?
и разрешение и упор на оверхеде

Ну это какбэ дешевый таймер с хорошим разрешением (микросеку

Ну это какбэ дешевый таймер с хорошим разрешением (микросекунды мне хватает, конечно) и низким оверхедом.

Но мне удобнее медитировать в микросекундах, а не в абстрактных попугаях

распарсить /proc/cpuinfo ?

распарсить /proc/cpuinfo ?

clock_gettime(CLOCL_MONOTONIC, ..) & clock_getres - аналогич

clock_gettime(CLOCL_MONOTONIC, ..) & clock_getres - аналогично винде, только результат clock_gettime не нужно делить на результат clock_getres

это опять таки от модели зависит, но да, в общем случае -- н

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

а нафига такие мучения?
мне-то нужны были наносекундные задержки, а тебе зачем?

А я вот вообще задумался о жизни: на несколькоядерном процес

А я вот вообще задумался о жизни: на несколькоядерном процессоре или там на SMP оно же не факт что синхронно тикает?

Ну. Вот я и хочу узнать частоту. Хотя бы там, где она постоя

Ну.
Вот я и хочу узнать частоту. Хотя бы там, где она постоянна.

нет, но при чём тут ОС? tsc без участи оси и работает, и юзе

нет, но при чём тут ОС? tsc без участи оси и работает, и юзеру отдаётся.
ей он вообще неинтересен.

Ну онанизм же. Вы хотите сказать, что ОС так и поступает, а

Ну онанизм же.

Вы хотите сказать, что ОС так и поступает, а сам процессор не знает, какая у него там частота?

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

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

Померять, используя sleep(), gettimeofday() в цикле с усредн

Померять, используя sleep(), gettimeofday() в цикле с усреднением и отбрасыванием...

На современных процессорах вроде не плавает, залечили, если

На современных процессорах вроде не плавает, залечили, если верить википедии.

Но неужто сам процессор этого не может сказать?

ну во-первых на некоторых процессорах этот клок может плават

ну во-первых на некоторых процессорах этот клок может плавать.
во вторых это даже может быть так:

Calibrating TSC clock ... TSC clock: 800049446 Hz
CPU: Intel(R) Pentium(R) M processor 1.73GHz (800.05-MHz 686-class CPU)

на freebsd -- sysctl machdep.tsc_freq

Не знаю, я им не пользуюсь уже много лет. Какой-то должен бы

Не знаю, я им не пользуюсь уже много лет. Какой-то должен быть, как и для ограничения видимости переменных, объявленных в заголовке цикла (ещё одно достающее отклонение от Стандарта). В крайнем случае должна быть возможность включить не /W4, а конкретное предупреждение. Ну и хоть изредка прогонять код через g++, он найдёт и другие возможные ошибки.

Страуструп в своей книге Дизайн и эволюция C++ приводит сл

Страуструп в своей книге Дизайн и эволюция C++ приводит следующий пример:

void incr(int& rr) { rr++; }

void g()
{
double ss = 1;
incr(ss);
}

Сперва он допустил ошибку, разрешив инициализировать неконстантную ссылку значением, не являющимся lvalue. Требуется ссылка на int, есть double и есть преобразование из double в int. Поэтому создавалась временная переменная типа int, инициализированная значением ss, и в функцию incr передавалась ссылка на эту переменную. Изменялась временная переменная, а значение ss в g оставалось неизменным.

Эту ошибку Страуструп исправил с выходом C++ 2.0 в 1987 году, MSVC поддерживает совместимость с ошибкой, исправленной задолго до выхода компиляторов MS с поддержкой C++, до сих пор.

А какой ключ (VS 2010) ? Я допер только до /W4, но он кроме

А какой ключ (VS 2010) ?

Я допер только до /W4, но он кроме предупреждения в обсуждаемом случе генерирует безумную кучу других предупреждений.

Ну так с const - аналогично, может уйти не то и не туда. Не

Ну так с const - аналогично, может уйти не то и не туда. Не вижу разницы.

Похоже что все то же самое, но без зума: - текущая (открыта

Похоже что все то же самое, но без зума:
- текущая (открытая первой) отрендерилась Bicubic и запомнилась
- соседняя - отрендерилась чем попроще - и тоже запомнилась

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

Сравнил (там есть в каментах). Они одинаковые.

Сравнил (там есть в каментах). Они одинаковые.

да это просто в ACDSee сидят криворукие программеры вот мой

да это просто в ACDSee сидят криворукие программеры

вот мой эксперимент
в каталоге 2 файла 1.jpg и 2.jpg
переключаю колёсиком - вижу 2 разные картини
так всё и должно быть
не выходя из ACDSee с помощью FARа копирую 1.jpg в 2.jpg
по факту в каталоге теперь лежит одна картинка с разными именами
кручу колёсико мыши и вижу как ACDSee продолжает показывать две разные картинки
подкладываю в каталог ещё картинок, продолжает показывать только две
подозреваю, что тут дело в кешировании картинок

Хм, хотел ответить ещё в dreamwidth, но из-за его огороженно

Хм, хотел ответить ещё в dreamwidth, но из-за его огороженности поленился.

А тут скажу. Насколько я помню ACDSee с тех времён, когда им пользовался, там зум-анзум картинки происходил с менее корректной интерполяцией, чем первое открытие картинки в заданном режиме зума. Поэтому я бы предположил, что произошёл такой сценарий: был открыт на просмотр каталог с двумя картинками; после перезума одной из картинок она переинтерполировалась некрасиво; переход на следующую картинку (с zoom lock) открыл её уже с корректной интерполяцией; а поскольку она запоминает для каждой картинки отрендеренное состояние предыдущей и следующей (и поскольку в каталоге всего было две картинки), то в этом кэше картинки так и не перерисуются и так и будут показывать одну нормальной, а вторую плохо перезумленной.

Pages

Subscribe to comments_recent_new