Большое тестирование процессоров различных архитектур

Предисловие


Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm.


Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с использованием конкретного компилятора для данной архитектуры и тесты производятся на различных дистрибутивах операционных систем на ядре Linux. На результаты может влиять как тип так и версия компилятора, а также режим оптимизаций. Хотя даже таким способом можно примерно сравнить производительность процессоров на разных архитектурах.


P.S.: Знаю, что большинство тестов для очень старых компьютеров, но они работают везде. Что даже очень неплохо.


Типы архитектур сравниваемых процессоров


CISC


CISC (Complex instruction set computing) — архитектура, в которой небольшой набор регистров, команды различной длины, операции кодируются одной командой.


RISC


RISC (Reduced instruction set computing) — процессорная архитектура, в которой инструкции упрощены и имеют фиксированную длину (например, 32 бита), что позволяет повысить производительность. Имеет большое число регистров.


VLIW


VLIW (very long instruction word) — архитектура процессоров с очень большой инструкцией. Одна инструкция содержит в себе много простых инструкций, которые могут исполняться разными блоками процессора. Всё это сильно упрощает архитектуру, но усложняет компилятор. Неэффективный код может порождать не полностью заполненные инструкции, что сильно снижает производительность программы.


Описание архитектур сравниваемых процессоров


x86-64 (ia32/x86/i386/amd64/EM64T/Intel/AMD)


x86 — CISC архитектура, созданная компанией Intel, о которой знают все. Современный вариант архитектуры пошёл со времён 32-битного процессора Intel 386. Крупные игроки: Intel, AMD и VIA (а ещё тут появился какой-то Zhaoxin).


ARM


ARM — RISC архитектура разрабатываемая компанией ARM Limited с середины 80х годов. Текущие версии 32-битных ARM ядер: armv6 (ARM1136J(F)-S), armv7 (Cortex A9, Cortex A15), armv8 (CortexA53, CortexA57, Cortex A72 и выше). Процессоры данной архитектуры широко используются в мобильных телефонах, планшетах, встраиваемых устройствах, одноплатных компьютерах. Процессоры энергоэффективные и достаточно производительные.


MIPS


MIPS — RISC система команд и микропроцессорных архитектур, разработанных компанией MIPS Computer Systems. Процессоры данной архитектуры как и ARM используются в мобильных телефонах, планшетах, встраиваемых устройствах и т.д. Но почему-то больших объёмов устройств по сравнению с ARM она не достигла. Но процессоры на архитеткуре MIPS часто можно встретить в роутерах, ну и в медиа проигрывателях, а ещё она использовалась в процессоре приставки Play Station 1. Текущие реализации: 32-битная MIPS32 и 64-битная MIPS64.


E2K (Elbrus 2000/Эльбрус)


VLIW


Список тестов



Dhrystone


Dhrystone — синтетический тест, который был написан Reinhold P. Weicker в 1984 году.
Данный тест не использует операции с плавающей запятой, а версия 2.1 написана так, чтобы исключить возможность сильных оптимизаций при компиляции.
Бенчмарк выдаёт результаты в VAX Dhrystones в секунду, где 1 VAX DMIPS = Dhrystones в секунду делить на 1757.

Whetstone


Whetstone — синтетический тест, который был написан Harold Curnow в 1972 году на языке Fortran.
Позже был переписан на языке C Roy Longbottom. Данный тест выдаёт результаты в MWIPS,
также промежуточные результаты в MOPS (Миллионов операций в секунду) и MFLOPS (Миллионы вещественных операций с плавающей запятой в секунду).
Данный тест производит различные подсчёты: производительность целочисленных и операций с плавающей запятой,
производительность операций с массивами, с условным оператором, производительность тригонометрических функций и функций возведения в степень, логарифмов и извлечения корня.

Также мной был написан тест Whetstone на языках JS (Для тестирования браузера и NodeJS) и C# (Для тестирования Mono, .Net Framework и Dotnet Core), а также я нашёл реализацию на Java.


Whetstone MP — многопоточный вариант Whetstone.

LINPACK


LINPACK — тест, который был написан Jack Dongarra на языке Fortran в 70х годах, позже переписан на язык C.
Тест считает системы линейных уравнений, делает различные операции над двумерными (матрицами) и одномерными (векторами).
Используется реализация Linpack 100x100 с числами типа float. Реализация теста хорошо используется для оценки производительности
различных суперкомпьютеров.

Coremark


Набор тестов написанных на языке C. Создан в 2009 году Shay Gal-On из компании EEMBC
Содержит реализации таких алгоритмов: обработка связных списков (поиск и сортировка), обработка матриц (несколько матричных операций), машина состояний (определение, что входной символьный поток содержит действительные числа в десятичной записи), подсчет суммы CRC.

Memspeed


Memspeed — выполняет 3 различные операции, над 64-битными числами с плавающей запятой двойной точности, 32-битными с плавающей запятой одинарной точности and 32-битными целыми над 2мя массивами:
  • Сумма с регистром r = r + x [m] * y[m] (Integer + y [m])
  • Сумма в память x[m] = x[m] + y[m]
  • Память в память x[m] = y[m]


Livermore Loops


тест для суперкомпьютеров, появился в 1970, изначально содержал 14 тестов на языке Fortran. Далее тестов было увеличено до 24 в 1980'е. Производительность измеряется в Миллионах Операций Чисел с Плавающей Точкой в Секунду или MFLOPS.
тест проверяет точно вычислений в конце. Основная цель — избежать простых операций над числами, 24 теста выполняются 3 раза в цикле Do-loop и вычисляют производительность на короткими, средними и большими последовательностями чисел.

MP MFLOPS


MP MFLOPS — многопоточный тест, который считает большое число операций над большими массивами.
Выполняет операцию вида x[i] = (x[i] + a) * b - (x[i] + c) * d + (x[i] + e) * f с 2, 8 или 32 на 1 инструкцию. Размер массива 0.1, 1 или 10 миллионов 4 байтовых слов с плавающей точкой с одинарной точностью.
Грузит ваш процессор по полной.

Scimark 2


SciMark 2 — набор тестов на языке C измеряющий производительность кода встречающегося в научных и профессиональных приложениях. Содержит в себе 5 вычислительных тестов: FFT (быстрое преобразование Фурье), Gauss-Seidel relaxation (Метод Гаусса — Зейделя для решения СЛАУ), Sparse matrix-multiply (Умножение разреженных матриц), Monte Carlo integration (Интегрирование методом Монте-Карло), и LU factorization (LU-разложение).

Тестовые стенды и их процессоры


Стенды на процессорах x86 (i386) х86-64 (amd64):



Стенды на процессорах armv6 (armel), armv7 (armhf), armv8 (aarch64):



Стенды на процессорах e2k (Elbrus 2000) (v3, v4, v5):



Стенды на процессорах MIPS :



Таблица с тестовыми стендами


Стенд Модель процессора Всего ядер (потоков) Частота (МГц) Архитектура
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 12 (6/12) 3,400.00 amd64
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 (4/8) 2,400.00 amd64
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 (4/8) 3,400.00 amd64
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2,530.00 amd64
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 (2/4) 2,133.00 amd64
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1,440.00 amd64
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2,600.00 amd64
Pentium M725 Intel® Pentium(TM) M 725 @ 1600 1 1,600.00 i386
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3,066.00 i386
Pentium III Intel® Pentium(TM) III CPU 1 1,000.00 i386
AWS Graviton Alpine AL73400 16 2,300.00 aarch64
Odroid N2 Amlogic S922X 6 1,800.00 aarch64
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1,700.00 arm
Orange Pi PC2 Allwinner H5 (aarch64) 4 1,152.00 aarch64
Orange Pi Win Allwinner A64 (aarch64) 4 1,344.00 aarch64
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1,200.00 aarch64
Raspberry PI Broadcom BCM2835 1 700.00 arm
E16C-APPROX! Elbrus 16 [Планируемый] 16 2,000.00 e2k
E8C2-1550 Elbrus 8C2 (E8C2) 8 1,550.00 e2k
E8C2-1200 Elbrus 8C2 (E8C2) 8 1,200.00 e2k
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1,300.00 e2k
E8C-E8C4 Elbrus 8C (4 CPU) 32 (8 x 4 cpu) 1,300.00 e2k
E2S-EL2S4 Elbrus 4C (EL2S4) (4 CPU) 16 (4 x 4 cpu) 750.00 e2k
E2S-PC401 Elbrus 4C (E2S) (pc401) 4 800.00 e2k
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985.00 e2k
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1,200.00 mips

Настройки компиляторов


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


Компилятор Флаги Архитектура
gcc -O2, -O3, -Ofast; -march X86-64
gcc -O2, -O3, -Ofast, -mfpu=neon; -march ARM
lcc -O2, -O3, -O4, -ffast -fwhole; -march E2K

Результаты тестов


Dhrystone


Таблица с результатами Dhrystone в 1 поток:


Platform CPU Cores Frequency (MHz) Architecture Dhrystones (VAX) Dhrystones на 1 Мгц Относительно Core i7-2600
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 2370 1.76 0.11
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 2469 2.06 0.11
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 2949.12 2.56 0.13
Odroid N2 Amlogic S922X 6 1800 aarch64 8230 4.57 0.37
AWS Graviton Alpine AL73400 16 2300 aarch64 11377.63 4.95 0.52
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 4677.3 3.25 0.21
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 10919.4 5.12 0.49
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 11455.81 4.41 0.52
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 13308.91 5.26 0.6
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 22076.97 6.49 1
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 22987.48 9.58 1.04
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 25195.31 7.41 1.14
Raspberry PI Broadcom BCM2835 1 700 arm 847 1.21 0.04
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 4495.03 2.64 0.2
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 8974.78 5.98 0.41
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 3329.51 4.44 0.15
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 3548.8 4.44 0.16
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 3554.46 2.96 0.16
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 4302.53 4.37 0.19
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 5357.45 3.46 0.24
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 5844.82 4.5 0.26
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 7779.44 5.98 0.35
E16C-APPROX! Elbrus 16 16 2000 e2k 11965 5.98 0.54
Pentium M725 Pentium M725 1 1600 i386 1085.68 0.68 0.05
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 1595 1.6 0.07
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 4012 1.31 0.18
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 3650 3.04 0.17

Dhrystone, все процессоры:


Dhrystone Benchmark, Version 2.1


Dhrystone, на 1 МГц:


Dhrystone Benchmark, Version 2.1, Per 1 MHz


Dhrystone, относительно Core i7-2600:


Dhrystone Benchmark, Version 2.1, Relative


Здесь видно, что в тесте Dhrystone процессоры x86 заметно быстрее arm и Эльбрус процессоров. Производительность 1 ядра Эльбрус 8С (E8C) сравнима с ядром Cortex A72, если сравнивать относительно Dhrystones на 1 МГц, Эльбрус 8С чуть быстрее Atom Z8350 относительно Dhrystones на 1 МГц. Производительность Baikal T1 сравнима с ядром Arm Cortex A9. Странно себя показал Эльбрус 8СВ, который с большой частотой оказался медленнее Эльбрус 8С. В МЦСТ мне ответили, что этот экземпляр тестовый и компилятор немного не доработан под данную версию, возможно с другим экземпляром тесты окажутся гораздо лучше.


Whetstone


Platform CPU Cores Frequency (MHz) Architecture MWIPS MWIPS MP MWIPS на 1 Мгц (однопоточный) MWIPS на 1 Мгц (многопоточный) Относительно Core i7-2600 Относительно Core i7-2600 (mp)
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 700.6 1854 0.52 1.38 0.12 0.06
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 980.26 3798 0.85 3.3 0.17 0.12
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 997.2 2779.8 0.83 2.32 0.17 0.09
Odroid N2 Amlogic S922X 6 1800 aarch64 2136.98 9931 1.19 5.52 0.37 0.32
AWS Graviton Alpine AL73400 16 2300 aarch64 2851.8 44741 1.24 19.45 0.5 1.43
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 2085.24 6636 1.45 4.61 0.36 0.21
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 2824.97 8837 1.32 4.14 0.49 0.28
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 2910.33 5195 1.15 2.05 0.51 0.17
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 3718.16 12113 1.43 4.66 0.65 0.39
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 5326.9 35234 2.22 14.68 0.93 1.13
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 5729.52 31319 1.69 9.21 1 1
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 5850.41 123854 1.72 36.43 1.02 3.95
Raspberry PI Broadcom BCM2835 1 700 arm 270.5 270.5 0.39 0.39 0.05 0.01
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 1305.16 4291 0.77 2.52 0.23 0.14
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 938.12 2455 1.17 3.07 0.16 0.08
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 970.8 15790 1.29 21.05 0.17 0.5
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 1277.55 1312 1.3 1.33 0.22 0.04
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 1748.37 13818 1.34 10.63 0.31 0.44
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 1545.92 12420 1.29 10.35 0.27 0.4
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 1647.51 53563 1.27 41.2 0.29 1.71
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 1703.75 14571.94 1.1 9.4 0.3 0.47
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 2037.62 16194 1.36 10.8 0.36 0.52
E16C-APPROX! Elbrus 16 16 2000 e2k 2717 43184 1.36 21.59 0.47 1.38
Pentium M725 Pentium M725 1 1600 i386 506.94 506.94 0.32 0.32 0.09 0.02
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 816 816 0.82 0.82 0.14 0.03
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 1119 1119 0.36 0.36 0.2 0.04
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 613.5 1227 0.51 1.02 0.11 0.04

Whetstone Single Precision, все процессоры


Whetstone Single Precision


Whetstone Single Precision, многопоточные результаты


MP Whetstone Precision Multi Core


Whetstone Single Precision, на 1 МГц


Whetstone Single Precision


Whetstone Single Precision, многопоточные результаты, на 1 МГц


MP Whetstone Precision Multi Core, Per 1 MHz


Whetstone Single Precision, относительно Core i7-2600


Whetstone Single Precision


Whetstone Single Precision, многопоточные результаты, относительно Core i7-2600


MP Whetstone Precision Multi Core Relative


Мы видим, что процессоры ARM v7 на архитектуре ядра Cortex A9 сопоставимы с процессорами Pentium III, если сравнивать частоту на 1 Мгц.
Далее, процессоры ARM v8 на архитектуре ядра Cortex A72 сравнимы с процессорами Core 2 Duo T9400 на 1 ядро и 1 МГц, но немного не дотягивают
до Atom Z8350. А ещё очень хорошо видно, что архитектура процессора Pentium 4 (NetBurst) была очень слабой и чтобы им быть более
менее производительными, нужно было иметь высокую частоту (Pentium III был более производительным на 1 МГц).
Все процессоры Эльбрус сопоставимы с Core 2 Duo T9400 на 1 ядро и относительно 1 МГц и ARM v7 Cortex A72, что уже лучше.


Whetstone: разные рантаймы и языки программирования


Platform CPU Cores Frequency (MHz) Architecture MWIPS MWIPS MP MWIPS mono MWIPS netcore MWIPS java MWIPS js
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 700.6 1854 359 102.18
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 980.26 3798 349.357 400.242 172.81
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 997.2 2779.8 183.43
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 2910.33 5195 1565.27 1992.405
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 3718.16 12113 1607.52 1823.615 2127.9 2098.08
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 5729.52 31319 2751.545 3262.258
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 1305.16 4291 256.837 650.114
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 1277.55 1312 388.324 390.89
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 1517.62 12980 522.988 1036.59 35.3
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 1647.51 53563 521.697 1022.26 35.1

LINPACK 100x100 DP (однопоточный)


Существуют LINPACK 1000x1000, High Performance LINPACK, LINPACK 100x100.
Но был выбран LINPACK 100x100 DP, почему? Причина проста: данный тест легко собирается на разных архитектурах и время тестирования очень небольшое.


И тут сразу переходим к результатам тестирования:


Platform CPU Cores Frequency (MHz) Architecture Linpack На 1 Мгц Относительно Core i7-2600 (однопоточный) Относительно Core i7-2600 (1 Мгц)
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 1750.03 0.67 1.71 0.95
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 1021.44 0.71 1 1
AWS Graviton Alpine AL73400 16 2300 aarch64 1548.65 0.67 1.52 0.95
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 0 0 0 0
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 1816.02 0.72 1.78 1.01
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 2155.62 1.01 2.11 1.42
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 4302.89 1.27 4.21 1.78
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 4915.84 2.05 4.81 2.89
E16C-APPROX! Elbrus 16 16 2000 e2k 1675.41538461538 0.84 1.64 1.18
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 632.51 0.84 0.62 1.19
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 674.677333333333 0.84 0.66 1.19
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 1257.2375 0.84 1.23 1.18
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 1005.79 0.84 0.98 1.18
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 1269.79 0.82 1.24 1.15
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 1089.02 0.84 1.07 1.18
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 1075.27 0.83 1.05 1.17
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 814.76 0.83 0.8 1.17
Odroid N2 Amlogic S922X 6 1800 aarch64 845.09 0.47 0.83 0.66
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 268.73 0.16 0.26 0.22
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 163.44 0.14 0.16 0.2
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 174.04 0.13 0.17 0.18
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 840.27 0.27 0.82 0.39
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 316.67 0.32 0.31 0.45
Pentium M725 Pentium M725 1 1600 i386 338.82 0.21 0.33 0.3
Raspberry PI Broadcom BCM2835 1 700 arm 42 0.06 0.04 0.08
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 180 0.15 0.18 0.21
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 6105.95 1.8 5.98 2.53

LINPACK 100x100 Double Precision, все процессоры
Linpack 100x100 Double Precision


LINPACK 100x100 Double Precision, на 1 МГц
Linpack 100x100 Double Precision, Per 1 MHz


LINPACK 100x100 Double Precision, относительно Core i7-2600
Linpack 100x100 Double Precision, Relative to Core i7-2600


Cнова сравним Mflops'ы на 1 МГц на 1 ядро.


Ядра ARM v7 Cortex A9 (Odroid X2), ARM v8 Cortex A53 (Raspberry PI 3, Orange Pi Win, Orange Pi PC2 ) показывают слабый результат, даже слабее Pentium III, что даже кажется немного странным. Ядра ARM v8 Cortex A72 (Odroid N2, AWS Graviton [Alpine AL73400]) держатся почти на уровне Core 2 Duo T9400 и Atom Z8350 и это отлично.


Эльбрусы E2K (Все модели: E1C+, E4C, E8C1, E8C2 ) показывают одинаковый результат и сильно обгоняют ARM процессоры, даже ядра Cortex A72, но проигрывают в 1,5 — 2 раза современным процессорам Intel, хотя они обгоняют AMD A6-3650 и Core 2 Duo T9400. Эльбрусам не хватает высокой тактовой частоты, чтобы приблизиться к процессорам Intel.


Coremark


Platform CPU Cores Frequency (MHz) Architecture Coremark (однопоточный) Coremark (многопоточный) Coremark на 1 Мгц (однопоточный) Coremark на 1 Мгц (многопоточный) Относительно Core i7-2600 (однопоточный) Относительно Core i7-2600 (многопоточный)
AWS Graviton Alpine AL73400 16 2300 aarch64 0 0 0 0 0 0
Odroid N2 Amlogic S922X 6 1800 aarch64 0 0 0 0 0 0
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 3840.98 15370.82 2.86 11.44 0.17 0.13
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 3841 15363.93 3.2 12.8 0.17 0.13
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 3869.72 14901.28 3.36 12.94 0.17 0.12
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 6893.09 23814.68 4.79 16.54 0.3 0.2
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 9980.95 24252.71 4.68 11.37 0.44 0.2
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 11810.56 41666.67 4.54 16.03 0.52 0.35
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 12481.28 23950.66 4.93 9.47 0.55 0.2
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 22692.89 119670.91 6.67 35.2 1 1
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 24295.43 123260.23 10.12 51.36 1.07 1.03
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 28210.73 670625.22 8.3 197.24 1.24 5.6
Raspberry PI Broadcom BCM2835 1 700 arm 1303.78 1303.78 1.86 1.86 0.06 0.01
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 6109.07 24162.55 3.59 14.21 0.27 0.2
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 2216.48 34457.87 2.96 45.94 0.1 0.29
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 2364.24 36755.06 2.96 45.94 0.1 0.31
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 2901.49 2848.32 2.95 2.89 0.13 0.02
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 3413.36 26396.83 2.84 22 0.15 0.22
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 3711 28846.15 2.85 22.19 0.16 0.24
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 3813.64 117885.43 2.93 90.68 0.17 0.99
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 4266.7 33165.69 2.84 22.11 0.19 0.28
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 4359.51 34485.24 2.81 22.25 0.19 0.29
E16C-APPROX! Elbrus 16 16 2000 e2k 5625.18 88994.16 2.81 44.5 0.25 0.74
Pentium M725 Pentium M725 1 1600 i386 2018.44 2018.44 1.26 1.26 0.09 0.02
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 2246.57 2246.57 2.25 2.25 0.1 0.02
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 5941.45 5941.45 1.94 1.94 0.26 0.05
Baikal T1 Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 6182 12364 5.15 10.3 0.27 0.1

Coremark, однопоточные результаты, все процессоры
Coremark


Coremark, многопоточные результаты, все процессоры
Coremark Multi Thread


Coremark, однопоточные результаты, на 1 МГц
Coremark, Per 1 MHz


Coremark, многопоточные результаты, на 1 МГц
Coremark Multi Thread, Per 1 MHz


Coremark, однопоточные результаты, относительно Core i7-2600
Coremark, Relative to Core i7-2600


Coremark, многопоточные результаты, относительно Core i7-2600
Coremark Multi Thread, Relative to Core i7-2600


В этом тесте ядра Эльбрус на 1 МГц оказываются немного слабее ядер ARM (Cortex A9, Cortex A53) и в 3 раза слабее современных ядер Intel (Core i7-2600 ),
ядра ARM (Cortex A9, Cortex A53) почти что на уровне Atom Z8350, Core 2 Duo T9400 и AMD A6-3650. Процессор Baikal T1 немного обгоняет Atom Z8350, Core 2 Duo T9400 и AMD A6-3650,
а в реальных частотах он на уровне Atom Z8350.


Memspeed (однопоточный)


(x[i] = x[i] + a * y[i])

(x[i] = x[i] + y[i])

(x[i] = y[i])

Platform CPU Cores Frequency (MHz) Architecture 16 KB, x[m]=x[m]+s*y[m] Sngl 512 KB, x[m]=x[m]+s*y[m] Sngl 8192 KB, x[m]=x[m]+s*y[m] Sngl 16 KB, x[m]=x[m]+y[m] Sngl 512 KB, x[m]=x[m]+y[m] Sngl 8192 KB, x[m]=x[m]+y[m] Sngl 16 KB, x[m]=y[m] Sngl 512 KB, x[m]=y[m] Sngl 8192 KB, x[m]=y[m] Sngl
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 aarch64 1311 1224 1039 2872 1179 1009 4902 2284 1261
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 aarch64 1324 1598 1019 2240 1906 954 3136 2783 871
Orange Pi Win Allwinner A64 (aarch64) 4 1344 aarch64 1598 1752 1019 2771 1787 1028 3483 3146 1374
Odroid N2 Amlogic S922X 6 1800 aarch64 8452 8214 3888 9876 8463 3966 8261 7260 3582
AWS Graviton Alpine AL73400 16 2300 aarch64 21353 17418 7336 7344 18328 21796 12118 12120 4422
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 17395 14596 5208 17415 14356 5219 10075 5598 1365
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 20403 14189 8249 18113 9344 8153 3232 5196 2131
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 22267 12837 4636 22396 13193 4996 10774 8340 2387
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 40906 37749 8578 40988 36529 8523 13655 9154 2154
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 52992 29816 17618 59299 30982 18371 40254 16127 9605
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 57653 51351 26334 57982 52292 26638 45452 37370 13360
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 75172 53366 32794 75334 54605 32432 26348 16541 8317
Raspberry PI Broadcom BCM2835 1 700 arm 127 127 127 731 127 127 426 111 111
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 2364 1464 1261 2543 1472 1271 3856 1324 627
E16C-APPROX! Elbrus 16 16 2000 e2k 0 0 0 0 0 0 0 0 0
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 13327 31305 5856 10999 11421 9663 5073 10442 1163
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 21463 22714 7975 20662 23032 7809 10535 11483 4263
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 22896 22106 8491 10053 6591 2092 8415 6145 1468
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 34626 34168 28890 30016 34232 28920 16709 18654 17513
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 37065 27882 23315 35758 27681 23172 18273 16898 13798
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 37092 29195 24130 37806 29193 24114 19096 17431 14045
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 41032 41708 33881 19815 12399 9617 6124 4376 3318
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 44195 41990 36299 39990 42034 36355 21901 23589 21518
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 0 0 0 0 0 0 0 0 0
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 0 0 0 0 0 0 0 0 0
Pentium M725 Pentium M725 1 1600 i386 1915 1530 844 2348 1670 850 1866 1145 420
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 0 0 0 0 0 0 0 0 0

Memspeed, Умножение-сложение с присвоением, все процессоры
Memspeed Multiply Add Assign


Memspeed, Сложение с присвоением, все процессоры
Memspeed Add Assign


Memspeed, Присвоение, все процессоры
Memspeed Assign


Как мы знаем, на скорость работы с памятью играют частота работы с памятью, размеры кеша и латентность.


Процессоры ARM (Cortex A9, Cortex A53) имеют медленную подсистему памяти, AWS Graviton обгоняет их в несколько раз (что и логично, так как это серверный процессор).
Процессоры Эльбрус немного отстают от современных процессоров Intel так как имеют намного меньшую тактовую частоту (в 3 раза). Также можно заметить что процессор Эльбрус 8СВ немного быстрее
процессора Эльбрус 8С за счёт того, что используется память DDR4-2400.


MP MFLOPS


Примеры операций, которые выполняет данный тест:


2 операции


x[i] = (x[i]+a)*b;

8 операций


x[i] = (x[i]+a)*b-(x[i]+c)*d+(x[i]+e)*f;

32 операции


x[i] = (x[i]+a)*b-(x[i]+c)*d+(x[i]+e)*f-(x[i]+g)*h+(x[i]+j)*k-(x[i]+l)*m+(x[i]+o)*p-(x[i]+q)*r+(x[i]+s)*t-(x[i]+u)*v+(x[i]+w)*y;

Platform CPU Cores Frequency (MHz) Architecture 2 ops/w – 102400 4B words 2 ops/w – 1024000 4B words 2 ops/w – 10240000 4B words 8 ops/w – 102400 4B words 8 ops/w – 1024000 4B words 8 ops/w – 10240000 4B words 32 ops/w – 102400 4B words 32 ops/w – 1024000 4B words 32 ops/w – 10240000 4B words Geom Mean Relative geom mean
Atom Z8350 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 amd64 5725 1303 1052 11934 5077 4204 10665 10456 10419 5097.15 0.58
Core 2 Duo T9400 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 amd64 6614 6501 949 16025 16043 3813 24236 24129 13724 8813.97 1
Core i3-m330 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 amd64 7256 3089 2177 22321 12217 8613 25115 23494 17535 10191.13 1.16
AMD A6-3650 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 amd64 16325 4294 2226 31623 17883 8640 42202 34047 26819 14558.51 1.65
Core i7-2600 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 amd64 43309 35180 4454 83624 84536 17643 81936 82606 68539 41836.45 4.75
Core i7-4700MQ Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 amd64 44608 39682 4836 81235 80026 19272 77071 77474 72623 42630.84 4.84
Xeon 6128 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 amd64 120605 141059 104776 274886 306624 283395 329607 343556 339301 227553.87 25.82
Orange Pi Win Allwinner A64 (aarch64) 4 1344 arm 0 0 0 0 0 0 0 0 0 0 0
Raspberry PI Broadcom BCM2835 1 700 arm 44 43 31 96 88 79.5 192 176 159 84.15 0.01
Raspberry PI 3 Broadcom BCM2837B0 (armv8) 4 1200 arm 1375 441 435 4621 1699 1737 2081 2131 2141 1480.41 0.17
Odroid X2 Samsung Exynos 4412 (armv7l) 4 1700 arm 893 598 620 2077 1987 2015 3276 3230 3224 1656.53 0.19
Orange Pi PC2 Allwinner H5 (aarch64) 4 1152 arm 2737 482 475 6597 1909 1896 6033 5797 5826 2438.51 0.28
Odroid N2 Amlogic S922X 6 1800 arm 9859 1360 1328 23657 5398 5318 21407 18311 18102 7612.03 0.86
AWS Graviton Alpine AL73400 16 2300 arm 61397 47660 5169 90387 94494 20880 113635 117449 81767 52331.76 5.94
MBE1C-PC Elbrus 1C+ (MBE1C-PC) 1 985 e2k 7804 2103 2089 10453 7041 7003 15676 15626 15641 7414.24 0.84
E2S-PC401 Elbrus 4C [E2S] (pc401) 4 800 e2k 16319 17495 2998 22592 17738 12125 35782 35757 24169 17153.89 1.95
E2S-EL2S4 Elbrus 4C [EL2S4] (4 CPU) 16 750 e2k 55325 81983 3706 100732 121570 16075 116234 133304 58729 52463.62 5.95
E8C-SWTX Elbrus 8C (E8C-SWTX) 8 1300 e2k 46965 65423 4505 98423 93145 17994 146865 160334 68001 53607.67 6.08
E8C2-1200 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 e2k 53065 72849 9159 141270 197423 36293 272517 302580 136836 90429.35 10.26
E8C2 Elbrus 8C2 (E8C2) 8 1500 e2k 78414.1935483871 87892.2580645161 8612.90322580645 236270.322580645 209708.709677419 35186.1290322581 319533.870967742 325615.161290323 136266.774193548 104351.91 11.84
E8C2-1550 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 e2k 81028 90822 8900 244146 216699 36359 330185 336469 140809 107830.3 12.23
E8C-E8C4 Elbrus 8C (4 CPU) 32 1300 e2k 134841 121759 116454 193019 279431 279598 402357 461200 378806 233035.8 26.44
E16C-APPROX! Elbrus 16 16 2000 e2k 209104.516129032 234379.35483871 22967.7419354839 630054.193548387 559223.225806452 93829.6774193548 852090.322580645 868307.096774194 363378.064516129 278271.75 31.57
Pentium III Intel® Pentium(TM) III CPU 1 1000 i386 0 0 0 0 0 0 0 0 0 0 0
Pentium M725 Pentium M725 1 1600 i386 309 304 243 309 304 243 408 409 406 320.12 0.04
Pentium 4 Intel® Pentium(TM) 4 CPU 1 3066 i386 355.81 360.64 328.44 1344.35 1315.37 1230.04 1867.6 1872.43 1875.65 945.04 0.11
Baikal T1 BFK Baikal-T1 (MIPS P5600 V3.0) 2 1200 mips 0 0 0 0 0 0 0 0 0 0 0

MP MFLOPS, все процессоры, 2 ops/w
MP MFLOPS, 2 ops/w


MP MFLOPS, все процессоры, 8 ops/w
MP MFLOPS, 8 ops/w


MP MFLOPS, все процессоры, 32 ops/w
MP MFLOPS, 32 ops/w


MP MFLOPS, все процессоры, относительно Core i7-2600
MP MFLOPS


MP MFLOPS, все процессоры, максимальные MFLOPS
MP MFLOPS MAX


Вот здесь процессоры Эльбрус показывают свою превосходство над всеми другими архитектурами: способность выполнять большое число операций за такт (архитектура VLIW).
Процессор 8СВ набирает 378 ГФлопс (Теоретически 576) на 32х операциях. Core i7-2600 — 82.6 ГФлопс.
Процессоры на ARM выдают всего 23.7 ГФлопс (Для Cortex A72, Odroid N2), AWS Graviton — 117 ГФлопс, за счёт 16ти ядер.


Scimark 2 (однопоточный)


Platform Composite Score FFT SOR MonteCarlo Sparse matmult LU CPU Cores Frequency (MHz) На 1 Мгц Относительно Core i7-2600 (однопоточный) Относительно Core i7-2600 (1 Мгц) Architecture
Orange Pi Win 169.22 150.49 276.78 76.72 166.98 175.11 Allwinner A64 (aarch64) 4 1344 0.13 0.33 0.36 aarch64
Orange Pi PC2 191.59 147.36 283.1 64.07 185.46 277.94 Allwinner H5 (aarch64) 4 1152 0.17 0.38 0.47 aarch64
Atom Z8350 509.44 267.6 719.12 178.04 497.19 885.27 Intel® Atom(TM) x5-Z8350 CPU @ 1.44GHz 4 1440 0.35 1 1 amd64
Core i3-m330 1002.61 759.27 967.15 290.85 933.71 2062.08 Intel® Core(TM) i3 CPU M 330 @ 2.13GHz 4 2133 0.47 1.97 1.33 amd64
AMD A6-3650 1028.44 775.83 989.81 344.97 1272.17 1759.44 AMD A6-3650 APU with Radeon(tm) HD Graphics 4 2600 0.4 2.02 1.12 amd64
Core 2 Duo T9400 1051.93 720.56 1201.02 307.36 1119.72 1911 Intel® Core(TM) 2 Duo CPU T9400 @ 2.53GHz 2 2530 0.42 2.06 1.18 amd64
Core i7-2600 1800 1517.97 1636.33 515.34 1981.74 3348.64 Intel® Core(TM) i7-2600 CPU @ 3.40GHz 8 3400 0.53 3.53 1.5 amd64
Core i7-4700MQ 2071.26 1693.12 1599.69 568.17 2148.4 4346.91 Intel® Core(TM) i7-4700MQ CPU @ 2.40GHz 8 2400 0.86 4.07 2.44 amd64
Xeon 6128 2427.42 2011.19 1564.17 753.09 2878.47 4930.18 Intel® Xeon® Gold 6128 CPU @ 3.40GHz (2 CPU) 24 3400 0.71 4.76 2.02 amd64
MBE1C-PC 379.23 174.82 364.42 97.02 132.92 1126.98 Elbrus 1C+ (MBE1C-PC) 1 985 0.39 0.74 1.09 e2k
E8C2-1200 469.46 212.71 446.05 118.25 166.34 1403.94 Elbrus 8C2 (Broken 8MB Cache 1.2 GHz) 8 1200 0.39 0.92 1.11 e2k
E8C2-1550 472.24 266.7 501.81 84.95 304.82 1202.94 Elbrus 8C2 (E8C2 1550 MHz) 8 1550 0.3 0.93 0.86 e2k
E8C-SWTX 511.43 235.71 481.74 132.23 186.18 1521.26 Elbrus 8C (E8C-SWTX) 8 1300 0.39 1 1.11 e2k

Scimark 2, однопоточные результаты, все процессоры
Scimark 2


Выводы


Performance, Relative to Core i7-2600


ARM процессоры уровня Cortex A9, Cortex A53 на уровне слабого Intel Atom, Pentium 4.
ARM процессоры уровня Cortex A72 уже приближаются к процессорам Intel Core.


Процессоры Эльбрус в основном быстрее процессоров ARM, но медленнее Intel Core из-за
маленькой тактовой частоты и могут работать намного быстрее, если программа под них хорошо оптимизированна, но в будущем надеемся, что компилятор lcc будет ещё лучше доработан.


P.S.


Спасибо команде из Телеграм чата: e2k_chat и людям с форума ixbt, которые помогли мне протестировать недостающие Эльбрусы.


Спасибо своим коллегам, которые предоставили мне некоторые одноплатные компьютеры на процессорах ARM.


Исходники и результаты


Не стесняйтесь, присылайте мне свои результаты.


Ссылки


Таблица с результатами


  1. Исходники, результаты и диаграммы
  2. Сайт Роя Лонгботтома, откуда было взято большинство исходников и часть результатов
  3. Набор ссылок на бенчмарки Эльбрусов от Михаила Шигорина
  4. Independent Tests of Baikal-T1

Бонус


Код MP MFLOPS на ассемблере Эльбрус


Список мнемоник Эльбрус'а

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Ваша любимая архитектура

  • 59,1%x86-64 (ia32/x86/i386/amd64)65
  • 29,1%arm32
  • 11,8%mips13
  • 16,4%e2k (Elbrus)18
  • 8,2%powerpc9
  • 12,7%risc-v14
  • 6,4%sparc7
  • 2,7%other3
ICL Services
Цифровые технологии для бизнеса

Похожие публикации

Комментарии 59

    +3
    А почему нет комментариев в тестах, когда mips по нулям? Не собралось? Не запустилось? Упало? Выдало странные результаты?
      +1
      К сожалению — нет! Я брал данные по Байкалу из других источников (с Хабра), у меня нет в наличии данных машин (mips), но вот если бы кто-то протестировал, я бы с радостью добавил результаты.
      +1
      А что означают нули в реузльтатах для некоторых процессоров? Например в LINPACK 100x100 DP для Baikail-T1
      P.S. К слову, Raspberry Pi поддреживает armhf, а запускалась, судя по всему без hard float (armel обычно без hard-float). Поэтому и показывает катастрофически низкие результаты
      0
      Очень объемно и полезно!
        +3
        Было бы очень интересно если бы рядом с per 1 MHz была бы табличка per 1 Watt
          0
          А это как посчитать? Те же Эльбрусы МЦСТ не знает как посчитать.
            +2
            +еще нужно наличие/отсутствие GPU учесть
            +1
            Тут главная проблема, что из заявленных значений считать бессмысленно (тдп новых интелов объявлено на уровне 125, а жрут они под все 200), а для учета именно процессора — слишком сложные решения надо применять, то есть нужно именно специализированно проводить тестирования имея всё железо у себя.
            –2
            А почему сравнение только с каким-то старым хламом? Где современные процессоры? AMD Ryzen 9 или современные Intel?
              +5
              Есть такие процы? Пробенчите, plz.
                +3
                Xeon Scalable 6128 — не хлам.
                +2
                Ещё бы хорошо бы айфоны с айпадами потестить. А то в последнее время из каждого утюга — что они рвут х86 как тузик грелку, только непонятно, ежели они такие мощные, отчего из них суперкомпьютеры не делают или хотя бы десктопы.
                  +1
                  Для этого С-шный код надо в приложение заворачивать и публиковать в сторе. Но в Андроид через тот же Termux с gcc или clang вполне реально.
                    +1
                    Не надо ничего публиковать, зачем? Если вы Apple разработчик, а судя по комментарию вы им не являетсь, то должны просто собрать свое приложение и запустить на своем железе никаких сторов не надо.
                    0
                    Держите. Тут устаревший А9, но результат достойный.
                    www.7-cpu.com/cpu/Apple_A9.html
                    +3
                    Intel Core i7 6700K
                    ********************************************************

                    Dhrystone Benchmark Version 2.1 Non-optimised via C/C++ Tue May 12 17:05:07 2020

                    VAX MIPS rating: 2701.63

                    Classic Benchmark Ratings for CPUSpeed.txt where 100 MHz Pentium = 100
                    Integer Dhry2 NoOpt 8442

                    Numeric results were correct

                    Windows NT Version 6.2, build 9200,
                    CPU GenuineIntel, Features Code BFEBFBFF, Model Code 000506E3, 4008 MHz
                    Memory 2097151 KB, Free 2097151 KB

                    ********************************************************

                    Dhrystone Benchmark Version 2.1 Optimised via C/C++ Tue May 12 17:05:23 2020

                    VAX MIPS rating: 13820.29

                    Classic Benchmark Ratings for CPUSpeed.txt where 100 MHz Pentium = 100
                    Integer Dhry2 Opt 10630

                    Numeric results were correct

                    Windows NT Version 6.2, build 9200,
                    CPU GenuineIntel, Features Code BFEBFBFF, Model Code 000506E3, 4008 MHz
                    Memory 2097151 KB, Free 2097151 KB


                    AMD Ryzen 7 3700X
                    ********************************************************

                    Dhrystone Benchmark Version 2.1 Non-optimised via C/C++ Tue May 12 16:53:16 2020

                    VAX MIPS rating: 5420.16

                    Classic Benchmark Ratings for CPUSpeed.txt where 100 MHz Pentium = 100
                    Integer Dhry2 NoOpt 16938

                    Numeric results were correct

                    Windows NT Version 6.2, build 9200,
                    CPU AuthenticAMD, Features Code 178BFBFF, Model Code 00870F10, 3593 MHz
                    Memory 2097151 KB, Free 2097151 KB

                    ********************************************************

                    Dhrystone Benchmark Version 2.1 Optimised via C/C++ Tue May 12 16:54:39 2020

                    VAX MIPS rating: 15493.76

                    Classic Benchmark Ratings for CPUSpeed.txt where 100 MHz Pentium = 100
                    Integer Dhry2 Opt 11918

                    Numeric results were correct

                    Windows NT Version 6.2, build 9200,
                    CPU AuthenticAMD, Features Code 178BFBFF, Model Code 00870F10, 3593 MHz
                    Memory 2097151 KB, Free 2097151 KB

                      0
                      Тест неполный без сравнения с действительно современными процессорами, типа i9-9900k или хотя бы i7-8700k, ну и что то на архитектуре zen2 типа r5 3600. А то половина протестированных процов имеют, разве что историческую ценность. Даже i7-2600 без k теперь уступает свежим процам амд начального уровня в полтора раза почти cpu.userbenchmark.com/Compare/Intel-Core-i7-2600-vs-AMD-Ryzen-3-3300X/620vs4076
                        0
                        Это мой рабочий комп, поэтому взял его как Baseline.
                        +3

                        Вот вам вброс:


                        Huawei Server (Kunpeng 920 (armv8.4 64 core x 2 CPU)) 128 ЯДЕР:


                        • Dhrystones — 21 011,57 single-thread
                        • Whetstones — 4 340,75 single-thread; 544 503,55 multi-thread
                        • Coremark — 19 309,99 single-thread; 2 196 796,34 multi-thread
                        • Scimark 2 — Composite: 1 477,36; FFT: 1 185,13; SOR: 1 090,89 MonteCarlo:
                          431,59; Sparse: 1 473,08; LU: 3 206,11
                        • LINPACK 100x100 DP — 3 368,37 single-thread;
                          +1
                          Whetstones multi-thread — экстраполяция. Не получилось собрать MP версию из репозитория автора.
                            0

                            Да, я взял средний коэффициент на основе других ARM.

                          +3
                          Процессоры Эльбрус конечно очень ярко показывают свое превосходство над другими архитектурами в тесте MP MFLOPS, только вот стоит учесть, что процессоры x86 обладают векторными инструкциями. i7-2600K поддерживает AVX (8 операций за раз), i7-4700MQ поддерживает FMA (умножение и сложение одной операцией). Пара косметических правок, и эти два процесора прыгнут на первые места рейтинга. Про ARM ничего сказать не готов, но там есть NEON и другие модификации, так что их результаты тоже не релевантны.
                          Если что, ничего не имею против Эльбрусов (хотя и считаю VLIW морально устаревшей), просто не стоит забывать о синтетичности этих тестов.
                            +1

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


                            Да кстати в чем VLIW морально устарел? В том что под него сложно делать оптимизирующий компилятор?

                              +3
                              В том, что процессоры отлично справляются с шедулингом микроопераций в рантайме — не понимаю зачем это предрассчитывать, гарантированно снижая качество шедулинга, ибо бранчинг. Разве что это позволяет сэкономить энергию — но не думаю, что она существенная.
                                +1

                                Угу а потом все это выливается в уязвимости :)))

                                  +3
                                  Знаете почему во VLIW-процессорах нет уязвимостей? Потому-что процессоров нет))
                                    +2

                                    Как тот не уловимый джо? :) Но вообще ребята в портировании javascript на эльбрус упоминали почему.

                                +1
                                VLIW сам по себе термин не очень осмысленный, тут скорее важно, что EPIC.

                                EPIC хорош только там, где память быстрая и кэши не нужны — иначе его предсказания о том, как группировать операции, тупо не работают. Когда Intel развивал IA64, они были под влиянием великой аферы RDRAM — иного источника предположения про быструю память не было. Хотя и сейчас можно пересесть на SRAM (умножив ценник памяти этак на 12)… для обычных вычислений не окупается, хотя всякие embedded DSP на нём вполне массово строятся.

                                Уязвимости типа Meltdown со всеми потомками — да, проблема. Но методы лечения были понятны с самого начала, и проблема в том, чтобы выбрать из них оптимальные и отработать в железе.
                                  +1
                                  умножив ценник памяти этак на 12
                                  Экономика для инженеров
                                  Ценообразование — удивительная штука: единственным объективным фактором, определяющим цену, является необъективное представление продавца о «приемлемом» вознаграждении за товар. Такой объективный показатель, как затраты человеко-часов, не является определяющим: например, пользователь опен-сорса получает ПО за 0 денежных едениц, не потому, что его автор потратил 0 человеко-лет; обратный пример, при котором за абсолютно примитивную фигню автор запрашивает много-много денег, встречается гораздо чаще.

                                  Конкуренция на рынке, конечно же, способствует снижению необоснованно завышенных цен, но никакой конкуренции среди производителей чипов нет: они не сражаются за рынок, они его делят.

                                  Победа «дешёвой» конденсаторной (Dynamic) над «дорогой» транзисторной (Static) RAM случилась примерно так: давно-давно, лет 40 назад, когда частоты CPU измерялись единицами Мегагерц, некий оптимизатор (без кавычек) решил, что тратить на 1 бит RAM лишь 1 транзистор и 1 конденсатор гораздо выгоднее, чем 6 транзисторов; необходимость перезаряжать конденсатор не могла по тем временам как-то значимо отразиться на скорости доступа к RAM или на энергопотреблении. Со временем, частота CPU возросла в 1000 раз, цена на один транзистор упала в 1000 раз, RAM стоит так мало, что каждый потребитель может купить её в большем количестве, чем ему нужно; вроде бы, пора перестать экономить транзисторы и избавиться от конденсаторов, но нет: вместо этого строится многоэтажная иерархия кэшей с суперзамороченным контролем когерентности. Анонсированный перенос многослойной DRAM под одну крышку с CPU всех проблем конденсаторной памяти не решит.
                                    0
                                    если принять версию что шесть транзисторов занимает в шесть раз больше площади кристалла, то с одной пластины выйдет не в шесть раз меньше чипов, а а еще меньше. Потому что всегда в техпроцессе и на пластине есть неоднородности и чем больше кристалл, тем выше вероятность брака и, соответственно, процент выхода годных чипов с одной пластины драматически падает с увеличением размера чипа.
                                    Условная фотоматрица для телескопа дорогая еще по тому что брак там зашкаливает.
                                0
                                Помимо векторных операций, для больших тестов в MP MFLOPS существенна пропускная способность памяти, и в конечном итоге все в нее упирается. А так — да, с нормальными опциями вот результат с машины с 2 x Xeon Gold 6132 (28 ядер, 56 с гипертредингом):
                                  64 Bit MP SSE MFLOPS Benchmark 1, 56 Threads, Thu May 21 15:36:12 2020
                                
                                  Test             4 Byte  Ops/   Repeat    Seconds   MFLOPS       First   All
                                                    Words  Word   Passes                         Results  Same
                                
                                 Data in & out     102400     2   140000   0.082168   348945    See log     No
                                 Data in & out    1024000     2    14000   0.079809   359257    See log     No
                                 Data in & out   10240000     2     1400   0.147738   194073    See log     No
                                
                                 Data in & out     102400     8   140000   0.099896  1148074    See log     No
                                 Data in & out    1024000     8    14000   0.083505  1373428    See log     No
                                 Data in & out   10240000     8     1400   0.142038   807447    See log     No
                                
                                 Data in & out     102400    32   140000   0.264153  1736687    See log     No
                                 Data in & out    1024000    32    14000   0.212867  2155113    See log     No
                                 Data in & out   10240000    32     1400   0.214916  2134560    See log     No
                                
                                +1
                                Интересно посмотреть на свежий IBM Z в однопотоке. Сделайте тест, если есть возможность. Недавно на Z15 засветился на openbenchmarking.
                                  +1

                                  У кого-то дома однозначно стоит такой.

                                    0
                                    Ну точно не дома, а на работе или взятые в тест у IBM.
                                      +1

                                      Даааа, шкафик он знатный.

                                  +2
                                  i5-4670, /bin/linux/amd64

                                  Coremark O3 27666.343893
                                  Coremark O4 27633.851468
                                  Coremark Ofast 27546.312237
                                  Coremark mp2 O3 52521.008403
                                  Coremark mp2 O4 52388.020606
                                  Coremark mp2 Ofast 53344.002134
                                  Coremark mp4 O3 95653.733485
                                  Coremark mp4 O4 95096.582467
                                  Coremark mp4 Ofast 88982.815194
                                  Coremark mp8 O3 87696.861183
                                  Coremark mp8 O4 87857.378189
                                  Coremark mp8 Ofast 100156.494523
                                  Dhrystone O2 25139
                                  Dhrystone O3 25524.37
                                  Dhrystone Ofast 25799.14
                                  Linpack O2 4122.88
                                  Linpack O3 5465.6
                                  Linpack Ofast 5491.6
                                  Scimark O3 2338.83
                                  Scimark O4 2333.84
                                  Scimark Ofast 2230.48
                                  Whetstone O2 5784.372
                                  Whetstone O3 5573.884
                                  Whetstone Ofast 6010.528
                                  Whetstone mp O2 19668
                                  Whetstone mp O3 22602
                                  Whetstone mp Ofast 23647

                                  Архив результатов yadi.sk/d/hJGRkX7gMOeWXw
                                    0
                                    В MP MFLOPS с SSE набрал 91 GFLOPS

                                    64 Bit MP SSE MFLOPS Benchmark 1, 4 Threads, Wed May 13 08:03:17 2020


                                    Test 4 Byte Ops/ Repeat Seconds MFLOPS First All
                                    Words Word Passes Results Same


                                    Data in & out 102400 2 10000 0.055166 37124 0.764063 Yes
                                    Data in & out 1024000 2 1000 0.051106 40074 0.970753 Yes
                                    Data in & out 10240000 2 100 0.411623 4975 0.997008 Yes


                                    Data in & out 102400 8 10000 0.089668 91359 0.850936 Yes
                                    Data in & out 1024000 8 1000 0.093701 87427 0.982338 Yes
                                    Data in & out 10240000 8 100 0.420208 19495 0.998200 Yes


                                    Data in & out 102400 32 10000 0.377783 86738 0.660150 Yes
                                    Data in & out 1024000 32 1000 0.381274 85944 0.953652 Yes
                                    Data in & out 10240000 32 100 0.460269 71193 0.995215 Yes

                                      0
                                      –1
                                      На меня однажды снизошло откровение: как сравнить производительность разных процессоров общего назначения, вне зависимости от архитектуры, частоты, количества ядер и года выпуска и так чтобы не ошибиться, хотя бы более чем на порядок?
                                      Не, ну а что, маркетологи показывают нам гигагерцы и гигабайты, только почему-то ноутбук с большим числом ядер сливает декстопу и так далее.

                                      Ответ: производительность тупо пропорциональна потребляемой мощности.

                                      То есть если Эльбрусий жрет меньше в пять раз Интеля и в несколько раз более рапберри пай, то и производительность будет соответствующей.
                                        0

                                        Ну и потребление с ростом частоты нелинейно растёт.

                                          +3
                                          Не соглашусь. Тут нужно учитывать техпроцесс и архитектуру. Старый Pentium 4 много жрет, а производительность ниже плинтуса.
                                            0

                                            А, ну да, NetBurst тот ещё пень.

                                            0
                                            Ответ: производительность тупо пропорциональна потребляемой мощности.
                                            Извините, тестирование кипятильников в другой статье происходит.
                                              0
                                              Тут скорей внутри семейства есть смысл сравнивать, которые на одной технологии построены. Более ограниченно — с соседями по рынку схожего поколения, там уже такой явной зависимости не будет, но явно 5 Вт против 95 Вт еще действительно будут давать разницу в производительности (ноутбучный интел против свежего амд :)
                                              –2
                                              Какое то очень странное сравнение… Вот AMD быстрее потому что проц 2020 года, а вот Intel медленнее 2018 года. Капитан очевидность просто. Вы если реально хотели сравнить, взяли бы по одной модели процессора одного года выпуска и сравнили. Взяли бы и современные ARM процессоры Samsung, Apple…
                                                0
                                                А кто вам мешает взять и сравнить самому?)
                                                  –2
                                                  Если бы я был автором, я бы так и сделал, а лишь потом бы уже написал.
                                                    +3
                                                    Неа, не сделали бы.
                                                    Потому что у автора что было, то он и сравнил.
                                                    А те, кто рассуждают про то, как сделали бы идеально — сидят на месте ровно.
                                                    В итоге у нас есть вариант — сравнить, что есть и идеальное сравнение, которого никто не сделает.
                                                  0
                                                  Ни разу не видел сравнение, которое бы всем понравилось. То процессоры не те, то память разная, то ключи компилятора, то чипсет…
                                                    –2
                                                    … то сравнивают пентиум с xeon? А может просто задуматься для чего вообще писалась статья, для чего вообще делают обычно сравнение? Очевидно же что процессоры более древние будут медленнее.
                                                    Смысл статьи теряется и становится абсурдным.
                                                      +1
                                                      В статье написано, что в отдельных задачах более старые процессоры шустрее более новых другой архитектуры. А ещё интересно: а на сколько в попугаях шустрее более новые, имеет ли смысл апгрейдиться?
                                                    0

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

                                                    0
                                                    Столько времени прошло, а Дристун не сдает позиции ))

                                                    ТС, напишите в статье честно о том, почему нет данных по SPEC CPU )))
                                                    Дисклеймер: многие производители позоhных ЦПУ предпочтут Гикбенч с Дристуном два раза, но только не SPEC CPU, и упаси Боже не fp.
                                                      +1

                                                      Он простой как валенок и такой странный.


                                                      Вот купят и дадут SPEC CPU, тогда и замерим, то что было, то и прибыло в сравнение. Да и вообще я это просто для себя ради интереса сделал и решил опубликовать чтобы результаты где-то были.

                                                        +2
                                                        Да он не странный, он просто приближенный к реальным применениям))
                                                      +1

                                                      Результаты для Ryzen 1800x в стоке без разгона CPU и RAM, в одноканале.
                                                      https://yadi.sk/d/eNpK7iVEeZkkWQ

                                                        0

                                                        316 GFlops — на SSE (не AVX) для 16ти потоков, крутой результат

                                                        0
                                                        ## Потестил на E8C в нативе и режиме трансляции x86_64:
                                                        Таблица
                                                        | Platform | Test | Benchmark e2k | Benchmark amd64 | % |
                                                        |----------|---------------|---------------|-----------------|----------|
                                                        | E8C-SWTX | Dhrystones | 5 865,19 | 7 617,93 | 129,88 |
                                                        | E8C-SWTX | Whetstones | 1 517,62 | 1 582,78 | 104,29 |
                                                        | E8C-SWTX | Whetstones MP | 12 980,00 | 10 967,00 | 84,49 |
                                                        | E8C-SWTX | LINPACK | 1 075,27 | 934,11 | 86,87 |
                                                        | E8C-SWTX | MPMFLOPS | 160 334,00 | 75 685,00 | 47,20 |
                                                        | E8C-SWTX | Coremark | 3711 | 6 163,50 | 166,09 |
                                                        | E8C-SWTX | Coremark MP | 28 846,15 | 49 025,07 | 169,95 |
                                                        | E8C-SWTX | Scimark 2 | 511,43 | 412,79 | 80,71 |
                                                        | E8C-SWTX | | | | 100,84 |
                                                        | E8C-SWTX | Whetstones JS | 30 | 417,15 | 1 390,50 |

                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                        Самое читаемое