Тест CPU
Измерьте одноядерную и многоядерную производительность JavaScript прямо в браузере, используя реальные Web Workers, масштабированные под количество ядер вашего процессора.
CPU benchmark suite
Seven real computational workloads plus a multi-core scaling test. Detected 4 logical cores.
—
Waiting
—
Waiting
—
Waiting
—
Waiting
—
Waiting
—
Waiting
—
Waiting
—
Waiting
Краткое руководство: как использовать Тест ЦП
Займет меньше минуты- 1Подключите ноутбук к сети, чтобы энергосбережение не снижало результат.
- 2Нажмите Запустить бенчмарк и оставьте вкладку на переднем плане.
- 3Каждая рабочая нагрузка сообщает свое время и пропускную способность.
- 4Используйте общий балл для сравнения машин, а не как абсолютную оценку.
Обзор
Бенчмарк CPU измеряет, насколько быстро процессор может выполнять определенный набор инструкций. Этот инструмент реализует эту идею полностью внутри вашего браузера с использованием JavaScript, что означает, что он измеряет комбинацию вашего фактического процессора, текущего состояния питания и того, насколько эффективно движок JavaScript вашего браузера компилирует и выполняет код. Эта комбинация точно определяет, насколько быстро ваш браузер работает изо дня в день, что делает его более релевантным показателем для большинства людей, чем синтетический нативный бенчмарк, запущенный изолированно.
Пакет последовательно выполняет семь отдельных однопоточных рабочих нагрузок: решето простых чисел, умножение матриц двойной точности 512x512, рендеринг фрактала Мандельброта, сортировку массива из 8 миллионов элементов, хеширование SHA-256, сжатие в стиле LZ и 4-миллионноточечное FFT. Каждый этап сообщает свое собственное реальное время выполнения плюс показатель пропускной способности в подходящей единице, такой как GFLOPS для матричных вычислений и MB/s для хеширования. Восьмой этап затем запускает по одному Web Worker на каждое логическое ядро для измерения реального многоядерного масштабирования, а сводка объединяет все в общее время и общий балл.
Web Workers — это настоящая функция браузера для выполнения JavaScript в отдельных потоках, созданная здесь из Blob URL в памяти, а не из отдельного файла, поэтому ничего не загружается и не устанавливается. Каждый worker работает независимо и сообщает свой результат обратно на страницу, которая затем суммирует их для получения многоядерного балла.
Как интерпретировать результаты
Семь карточек рабочих нагрузок
Каждая карточка показывает время, затраченное на рабочую нагрузку, и показатель пропускной способности в ее естественной единице: Mop/s для решета простых чисел и рендеринга Мандельброта, GFLOPS для умножения матриц, Melem/s для сортировки массива, MB/s для SHA-256 и сжатия, и Gop/s для FFT. Меньшее время и более высокие показатели лучше. Сравнивайте эти числа с предыдущими запусками на той же машине, а не напрямую с показателями другого устройства, поскольку различия в движках JavaScript меняют масштаб.
Масштабирование на несколько ядер
Карточка масштабирования измеряет один Web Worker по отдельности, затем все их одновременно и сообщает множитель. Машина с 8 логическими ядрами, достигающая множителя от 6x до 7x, имеет хороший запас параллельных возможностей для таких задач, как кодирование видео или компиляция кода. Значительно меньший множитель указывает на ограничения пропускной способности памяти, тепловое троттлинг или фоновую нагрузку, ограничивающую объем работы, которую ваши ядра могут выполнять одновременно.
Общее время и общий балл
Общее время — это сумма семи рабочих нагрузок, а общий балл нормализует каждую рабочую нагрузку относительно типичного современного ноутбука, где примерно 300 баллов — это средний показатель. Выше 500 — быстро, а ниже 150 обычно означает троттлинг, старое или сильно загруженное оборудование.
Что на практике означает низкий балл
Оценка одноядерной производительности, значительно ниже типичной для вашей модели CPU (которую можно найти в интернете), часто указывает на настройки энергосбережения, ограничивающие тактовую частоту, проблему с перегревом или высокую фоновую нагрузку, а не на аппаратную неисправность. Попробуйте подключить ноутбук к сети, закрыть другие приложения и снова запустить тест, прежде чем делать выводы об аппаратном обеспечении.
Устранение неполадок
Балл кажется намного ниже ожидаемого
Проверьте, находится ли ваш ноутбук в режиме экономии заряда батареи или режиме «эффективности», поскольку эти режимы обычно ограничивают частоту CPU значительно ниже его номинального максимума специально для экономии энергии. Переключение на режим «сбалансированный» или «производительный» в настройках питания вашей операционной системы перед тестированием может существенно повлиять на результат.
Многоядерный тест зависает или очень медленный
Если ваше устройство имеет очень ограниченную память, запуск множества worker'ов одновременно может привести к тому, что операционная система начнет использовать дисковый своп, что значительно замедлит все процессы. Закройте другие вкладки браузера и приложения, чтобы освободить память, затем снова запустите тест.
Результаты сильно различаются между запусками
Некоторые отклонения ожидаемы из-за фоновой активности ОС и теплового состояния, но колебания более чем на 20-30 процентов обычно означают что-то другое, например, расширение браузера, сканирование антивируса или автоматическое обновление, конкурирующие за время CPU. Попробуйте запустить тест снова после минуты простоя системы.
Одноядерный против многоядерного: почему важны оба
Не все программное обеспечение может эффективно использовать несколько ядер. Такие задачи, как загрузка одной веб-страницы, запуск большинства повседневных приложений и многих игр, по-прежнему зависят от одноядерной производительности, потому что большая часть работы происходит в последовательной цепочке, которую трудно разделить. Другие задачи, такие как рендеринг видео, компиляция кода и одновременный запуск множества вкладок браузера, получают огромную выгоду от дополнительных ядер.
Именно поэтому CPU с меньшим количеством более быстрых ядер может ощущаться более отзывчивым при повседневном просмотре веб-страниц, чем процессор с множеством более медленных ядер, даже если многоядерный чип убедительно выигрывает в чистом многоядерном бенчмарке. При сравнении двух машин смотрите на оба показателя вместе, а не выбирайте тот, который благоприятствует рассматриваемому вами устройству.
Получение последовательных, сопоставимых результатов
- Подключите ноутбуки к источнику питания перед тестированием, так как режим работы от батареи замедляет скорость CPU на большинстве систем.
- Закройте фоновые вкладки, особенно те, которые воспроизводят видео, синхронизируют файлы или запускают другие веб-приложения.
- Дайте устройству поработать в режиме ожидания в течение 20-30 секунд перед началом, чтобы любая недавняя всплеск активности улегся.
- Запустите тест два или три раза и используйте средний результат, а не единичный запуск.
- Тестируйте в одном и том же браузере каждый раз, если вы отслеживаете изменения в течение недель или месяцев.
Часто задаваемые вопросы
Насколько точен браузерный бенчмарк CPU?
Он точен как относительная мера скорости выполнения JavaScript на вашем конкретном процессоре, браузере и текущей системной нагрузке, но он не напрямую сопоставим с нативными бенчмарками, такими как Cinebench или Geekbench, которые тестируют чистую пропускную способность инструкций без промежуточного движка JavaScript.
Почему мой многоядерный балл не равен точному произведению количества ядер на одноядерный балл?
Идеальное линейное масштабирование почти никогда не происходит из-за совместного использования пропускной способности памяти, термического дросселирования при длительной многоядерной нагрузке и накладных расходов планирования операционной системы. Нормальным и здоровым считается достижение от 60 до 90 процентов теоретического линейного масштабирования.
Что на самом деле сообщает navigator.hardwareConcurrency?
Он сообщает количество логических процессоров, доступных браузеру, включая ядра с технологией Hyper-Threading или одновременной многопоточностью. Четырехъядерный CPU с Hyper-Threading обычно сообщает 8, хотя физических ядер, выполняющих основную работу, всего 4.
Почему тест использует Web Workers вместо простого ускорения циклов?
Один поток JavaScript может использовать только одно ядро CPU за раз, независимо от того, как написан код. Web Workers создают по-настоящему отдельные потоки, которые операционная система может планировать на разные физические или логические ядра, что является единственным способом измерить реальную многоядерную пропускную способность изнутри браузера.
Показатель моего ноутбука ниже, чем у гораздо более старого настольного компьютера. Почему?
Ноутбуки часто работают на долю своей номинальной тактовой частоты для управления нагревом и экономии заряда батареи, особенно при длительной нагрузке, как в этом бенчмарке. Настольный CPU с лучшим охлаждением может поддерживать более высокие тактовые частоты дольше, что четко проявляется в бенчмарках JavaScript, которые работают около секунды на каждый этап.
Влияет ли работа других вкладок или приложений на результат?
Да, значительно. Фоновые вкладки, особенно те, которые воспроизводят видео или синхронизируют файлы, конкурируют за те же ядра CPU. Для более точного измерения закройте другие вкладки и дайте системе поработать в режиме простоя несколько секунд перед запуском бенчмарка.
Что измеряют семь рабочих нагрузок?
Решето Эратосфена тестирует операции с целыми числами, ограниченные памятью; умножение матриц тестирует пропускную способность с плавающей запятой; Мандельброт тестирует плотные арифметические циклы; сортировка массивов тестирует доступ к памяти и сравнения; SHA-256 тестирует побитовые операции и код с тяжелыми вращениями; LZ-сжатие тестирует хеширование плюс сравнения с большим количеством ветвлений; и FFT тестирует рекурсивные вычисления бабочки на больших массивах. Вместе они охватывают гораздо больше аспектов, чем любой отдельный цикл.
Почему бенчмарк занимает несколько секунд для завершения?
Каждый подтест должен выполняться достаточно долго, обычно менее секунды на этап, чтобы эффекты разогрева JIT-компиляции улеглись и измерение было статистически значимым. Очень короткие всплески могут быть доминированы одноразовыми накладными расходами компиляции, а не стабильной скоростью.
Могу ли я использовать это, чтобы решить, стоит ли обновлять свой компьютер?
Это разумный показатель, но он не должен быть единственным. Если ваш результат значительно ниже, чем опубликованные бенчмарки сопоставимого современного CPU, и ваш компьютер также кажется медленным при выполнении обычных задач, это хороший сигнал, что обновление поможет. Совместите это с тестами памяти и хранилища для получения полной картины.
Почему мой результат изменился между двумя запусками на одном и том же компьютере?
Движки JavaScript применяют адаптивную оптимизацию, фоновые процессы варьируются от запуска к запуску, а термическое состояние меняется с использованием, поэтому отклонение от 5 до 15 процентов между запусками является абсолютно нормальным. Постоянные большие колебания обычно указывают на то, что что-то еще потребляет CPU в фоновом режиме.
Влияет ли выбор браузера на результаты бенчмарка CPU?
Да. Различные движки JavaScript — V8 в Chrome и Edge, SpiderMonkey в Firefox и JavaScriptCore в Safari — оптимизируют код по-разному. Нормально видеть значительно отличающиеся результаты для одинакового оборудования в зависимости от используемого браузера.