Меню

ТЕСТИРОВАНИЕ КОМПЬЮТЕРОВ: часть 2

(c) Гаузер Э.Г., Баку, 21.09.26
website: www.erichware.com

Первая часть этой статьи была опубликована два года назад. У меня тогда была идея развивать и расширять данную программу и я понимал, что вторая часть статьи вполне вероятна. Но реальность соответствует планам лишь частично. Я действительно решил расширить возможности программы, включив в тестирование не только сам процессор, но и операции с памятью и диском. Да, таких программ уйма! Но пусть будет еще одна...

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

Сначала я приведу новую таблицу, а потом ее прокомментирую. Напоминаю, что тест диска и памяти есть только в версии "Testpc64"!

В новой таблице использованы следующие программы:
1. Testpc64 - программа написана как обычный "winform" для платформы Microsoft.NET, 64-битная версия.
2. Consol - программа в виде консольного приложения, тоже для платформы Microsoft.NET, 32-битная версия.
3. TestpcPY - программа написана на языке Питон, скомпилирована в исполняемый файл.


Напомню условные обозначения в таблице:
R - структура процессора (сокеты/ядра/логические)
L - кэш процессора (L1/L2/L3 или конкретно)
P - нагрузка процессора
Y - время ядра (визуальный процент от общего)
G - нагрузка графического сопроцессора (если есть)
A - количество нагруженных логических процессоров (работают/всего)
S - значение скорости работы программы

Буквами "NB" обозначены портативные устройства: ноутбуки, нетбуки, ультрабуки и т.д. Все остальные компьютеры - десктопы.

Каждая версия имеет две опции: выводить промежуточные данные (процент, скорость, время), или не выводить. Как видно из таблицы (столбцы "нет" и "есть" для категории "Вывод"), эти опции почти не влияют на результат. А в версиях программ из первой части статьи это влияние было огромным!


КомпьютерTestpc64ConsolTestpcPY
Вывод:нетестьнетестьнетесть
Станция Dell T7400
Xeon X5450; 45нм;
R=1/8/8; 3.0 GHz;
L1=256K L2=12M;
HDD 1Tb;
Q NVS290 256M;
DirectX 10;
DDR2 333MHz;
Win7max SP1; 64bit;
P=25%
Y=0%
S=284000
A=6/8
P=25%
Y=0%
S=83000
A=6/8
P=25%
Y=0%
S=10000
A=6/8
P=25%
Y=6%
S=270000
A=7/8
P=25%
Y=0%
S=79000
A=5/8
P=25%
Y=0%
S=8300
A=8/8
P=25%
Y=0%
S=850000
A=4/8
P=25%
Y=15%
S=820000
A=4/4
Не работает
на Win7
Не работает
на Win7
HP 280G1
Intel i3-4160; 22нм;
R=1/2/4; 3.6 GHz;
L=128K/512K/3M;
HDD 500Gb;
GPU=HDG4400;
DDR3 800MHz;
Win8.1; 64bit;
P=25%
A=3/4
S=1307800
P=25%
A=3/4
S=140200
P=25%
A=3/4
S=54420
P=25%
A=3/4
S=1287400
P=25%
A=3/4
S=138200
P=25%
A=4/4
S=53200
P=26%
A=3/4
S=1303100
P=26%
A=3/4
S=1315800
P=26%
A=4/4
S=281970
P=26%
A=4/4
S=281800
Acer Veriton
Intel i3-8100; 14нм;
R=1/4/4; 3.6 GHz;
L=256K/1M/6M;
HDD 500Gb
Toshiba DT01ACA050;
GPU=UHD630
128Mb; DirectX 10;
DDR4 2666MHz;
Win10pro; 64bit;
P=28%
A=3/4
Y=20%
S=660000
P=28%
A=3/4
Y=10%
S=137000
P=28%
A=3/4
Y=40%
S=37600
P=28%
A=4/4
Y=30%
S=652000
P=28%
A=4/4
Y=10%
S=135000
P=28%
A=4/4
Y=50%
S=37200
P=25%
A=2/4
S=1062680
P=25%
A=2/4
S=1093100
P=28%
A=2/4
S=79100
P=28%
A=2/4
S=78000
Pavilion dv7 (NB)
i7-2670QM; 32нм;
R=1/4/8; 2.2 GHz;
L=256K/1M/6M;
HDD 750Gb;
GPU=HDG3000 2Gb
DDR3 1067MHz;
Win10; 64bit;
P=13%
S=353000
A=2/8
P=13%
S=57750
A=4/8
P=13%
S=16100
A=4/8
P=13%
S=333000
A=3/8
P=13%
S=56400
A=3/8
P=13%
S=15800
A=3/8
P=13%
S=580000
A=2/8
P=13%
S=580000
A=2/8
P=13%
S=40000
A=3/8
P=13%
S=38800
A=3/8
Acer TMB118 (NB)
Celeron N4120;14нм;
R=1/4/4; 1.1(2.6)GHz;
L1=224K; L2=4M;
eMMC 64Gb
SanDisk;
GPU=UHD600
128Mb; DirectX 12;
DDR4 2400MHz;
Win10proEDU; 64bit;
P=63%
A=3/4
S=424000
P=63%
A=4/4
S=66000
P=63%
A=3/4
S=16000
P=63%
A=3/4
S=410000
P=63%
A=4/4
S=64000
P=64%
A=3/4
S=15600
P=63%
A=3/4
S=633000
P=63%
A=4/4
S=611000
P=63%
A=4/4
S=40000
P=63%
A=4/4
S=38000

В чем смысл версии "Testpc64" понятно: там есть тест памяти и тест диска. Но дело в том, что как указано выше, в ней (а также в консольном варианте) изменена реализация проверки нужности вывода по сравнению с версией "TestpcNT" (и прочих), описанных в первой части статьи.

Дело в том, что в старых вариантах проверка нужности вывода осуществлялась внутри цикла тестированяи скорости. В новой версии проверка происходит только в процедуре таймера! Если сравнить скорости, то результаты просто несопоставимы! Таким образом, проверяя вроде бы скорость процессора, заодно оказалась проверенной скорость выполнения условного оператора для чекбокса.

Так вот, констатировав крайнюю медлительность работы условных операторов и обращение к объектам в целом (по материалам также и прошлой статьи), проанализируем скорость работы разных вариантов уже внутри данной таблицы. Что видно? Понятно, что обращения к памяти идут медленнее, чем работа самого процессора. Так же видно, что обращения к диску медлительнее обращений к ОЗУ. Но это в принципе очевидно! Интересна просто количественная разница.

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

Чтобы не перегружать статью и таблицу, эти параметры выбраны стандартно: размер массива (и длина строки) - 1024 элемента (символа), а шаг времени 100 миллисекунд. Вы можете "поиграть" всеми этими параметрами и результаты будут очень интересны!

Сравним сами компьютеры. На мое удивление самым быстрым оказался "HP 280G1", но за счет чего? Там стоит Виндовс 8.1, а сам компьютер довольно старый и процессор имеет не самый лучший. Самый слабый - устаревшая станция Dell, что ожидаемо.

Кроме того видно, что консольная версия работает везде быстрее всего, что тоже косвенно говорит о медлительности работы с объектами. Недаром я не люблю ООП! И что удивительно, в первой статье скорость прошлой консольной версии была мизерной! А что изменилось? Только метод проверки нужности вывода...

Отдельно отмечу программу на Питоне. Несмотря на то, что тестировался исполняеимый файл в виде ехе-модуля, скорость Питона все равно ужасно маленькая. Отсюда вопрос: почему он так широко применяется в сфере ИИ? Загадка...

В общем, я советую всем, кому интересна данная тема, самостоятельно поиграть разными версиями и разными параметрами. И самостоятельно делать свои выводы...

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

По идее, надо обе статьи объединить, как и обе таблицы для наглядности. Но это будет сложно увидеть на экране компьютера (про экран смартфона речь вообще не идет). И по идее, конечно, надо сделать новый вариант программы с четким разделением всех проверок, да и не грех добавить тест скорости выполнения условных операторов, да и отдельно работу с ООП протестировать. Про такие программы я не слышал... Но проблема в том, что тогда фактически будет потеряна идея РАЗНЫХ вариантов компиляции. Я и так не могу старые версии обновить, а тут уж совсем не получится. Наверно, надо просто название программы изменить тогда. Посмотрим...