Прочитал тут недавно новость http://www.opennet.ru/opennews/art.shtml?num=42092 и задумался, а можно ли через браузер, посредством подсовывания ему какого-нибудь javascript кода и мерянья скорости выполнения, определить модель процессора, если точно известна версия браузера и ОС? И решил я сделать такой бенчмарк, взял уже написанную сортировку пузырьком на жабаскрипте, приделал измерение времени через Date.now() и начал тестить в разных браузерах пока что на одном и том же железе. http://dump.bitcheese.net/files/yxegyly/browsertest2.html вот что получилось. Обнаружил, что Chromium через несколько последовательных запусков пытается «оптимизировать» эту сортировку, отчего она работает медленее, и время становится устойчиво бОльшим. Эту «оптимизацию» можно вызвать после нажатия run 10. Потом можно много раз жать run 1 или run 10, без разницы. Перезагрузка страницы через F5 сбрасывает эту «оптимизацию» и скорость опять становится нормальной
Например до «оптимизации»: 3875 3875 3871 3880 3872
После «оптимизации»: 4358 4357 4352 4353 4352
Тут даже на глаз видно отличие матожидания для этих двух независимых выборок, без всяких там t-критериев Стьюдента. В Firefox тоже иногда происходит «замедление»
Вопросы: Что надо написать на Javascript, чтобы по замерам времени выполнения этого «чего-то» можно было бы как можно точнее определить модель процессора, который это «что-то» выполняет? Желательно чтобы jit оптимизации не меняли скорость работы спустя какое-то время, и чтобы скорость работы этого кода минимально отличалась от браузера к браузеру в пределах одного «железа». И насколько вообще реально определить модель процессора и/или например частоту оперативной памяти и системной шины таким способом?