Страница 1 из 1
CPU benchmark
Добавлено: Вс июл 12, 2020 10:48 pm
b0r1sus
Написал простенький бенчмарк производительности процессора для DOS, GNU/Linux.
Может использоваться на реальном железе и виртуальных машинах. Благодаря маленькому размеру может использоваться на смартфонах и во вложенной виртуализации. Для запуска виртуальной машины DOS достаточно 4 мегабайта оперативки.
- loop1s показывает количество циклов умещающихся в 1 секунду. Чем больше тем лучше.
- loop1g показывает количество секунд необходимых для прогона 1 000 000 000 циклов. Чем меньше тем лучше.
https://umvirt.com/loops/
Re: CPU benchmark
Добавлено: Пн июл 13, 2020 10:51 am
arxont
Боря, твой "бейчмарк" хуйня уровня первого класса. Если бы мне такое прислали в качестве тестового, то я бы кандидата (даже на джуна) вычеркнул и добавил в блеклист.
Код: Выделить всё
loops=1000000000;
while(1){
stime=time(NULL);
for(i=0; i<loops; i++){
printf("");
}
etime=time(NULL);
Re: CPU benchmark
Добавлено: Пн июл 13, 2020 2:10 pm
b0r1sus
arxont писал(а): Пн июл 13, 2020 10:51 am
Боря, твой "бейчмарк" хуйня уровня первого класса. Если бы мне такое прислали в качестве тестового, то я бы кандидата (даже на джуна) вычеркнул и добавил в блеклист.
Код: Выделить всё
loops=1000000000;
while(1){
stime=time(NULL);
for(i=0; i<loops; i++){
printf("");
}
etime=time(NULL);
Что не так?
Re: CPU benchmark
Добавлено: Пт июл 31, 2020 2:38 pm
arxont
Потому что всё что ты считаешь, это ограничение скорости вывода на консоль.
Потом, ты понимаешь, что скорость процессора это несколько иное? И мультитредность, кэш, инструкции там всякие?
А твой бенчмарк, даже не грузит проц целиком (на твоих же скринах)
Ты бы хоть посмотрел на другие Open-Source проекты (к примеру
https://github.com/phoronix-test-suite/ ... est-suite/ https://openbenchmarking.org/tests/pts )
Re: CPU benchmark
Добавлено: Пт июл 31, 2020 4:28 pm
b0r1sus
arxont писал(а): Пт июл 31, 2020 2:38 pm
Потому что всё что ты считаешь, это ограничение скорости вывода на консоль.
Хз. Я так напихал да скомпилил.
arxont писал(а): Пт июл 31, 2020 2:38 pm
Потом, ты понимаешь, что скорость процессора это несколько иное? И мультитредность, кэш, инструкции там всякие?
Мне этого не нужно. Нужен был сверх минималистичный бенчмарк чтобы осуществлять грубый замер и сравнение производительности вычислительных сред. Если направить вывод бенчмарка в файл можно изучить колебания значений во времени.
arxont писал(а): Пт июл 31, 2020 2:38 pm
А твой бенчмарк, даже не грузит проц целиком (на твоих же скринах)
92% на скрине с Limbo - это заряд батареи телефона.
Телефон навязывает режим экономии энергии и тротлит по-черному.
Сомневаюсь что Limbo получил достаточное количество процессорного времени.
100% загрузка процессора клиентским приложением в многозадачной среде возможна в случае если у приложения нет конкурентов на отдельном процессоре.
Зависимость от конкурентов - это тоже хорошо. Она показывает производительность приложения не в тепличных условиях а в боевых.
Влияние тротлинга и режима энергосбережения - тоже хорошо.
https://www.phoronix-test-suite.com/ - слишком большой бенчмарк и не работает с FreeDOS.
Виртуалка на FreeDOS - это виртуалка с самыми минимальными системными требованиями. FreeDOS оперативно грузится даже на телефоне с ARM процессором, позволяет оперативно поднимать большое количество виртуалок даже во вложенной виртуализации.
Как завещал Билли: "640Кб должно быть достаточно для каждого!"
Re: CPU benchmark
Добавлено: Вт фев 23, 2021 9:51 pm
b0r1sus
Приобрел компьютер AMD
Am386DX-40. Теперь его можно использовать как эталон или точку отсчета. Как и у других процессоров того времени у него оказалось два режима обычный и
Turbo. В обычном режиме он снижает мощность до 4.77 МГц как у Intel 8088, в режиме "Turbo" работает на полную мощность.
Прогнал бенчмарк:

- Обычный режим
- default5_.JPG (36.66 КБ) 32694 просмотра

- Режим Turbo
- turbo_.JPG (34.74 КБ) 32694 просмотра

- Смена режимов
- powerup_.jpg (23.22 КБ) 32694 просмотра
Виртуальная машина под эмулятором для смартфона "Limbo" на телефоне DEXP выдает производительность меньшую даже чем у AMD Am386DX-40. Практически такую же как Intel 8088.
DosBox работает со схожей скоростью.
Благодаря QEMU можно один компьютер нарезать на несколько 386-х, если эмулировать сразу DOS плотность предельная, а вот если сначала эмулировать Linux, а потом уже Dos плотность будет хуже так как памяти потребуется больше, особенно в случае использования 64-х битной архитектуры.
Re: CPU benchmark
Добавлено: Ср мар 24, 2021 1:14 pm
b0r1sus
В поделку установил эмулятор PCEM, который использует оригинальные ромы биосов в отличае от свободного SEABIOS в QEMU и BOCHS.
Среди процессоров нашел AMD Am386DX-40. Решил проверить сколько попугаев выдает данный бенчмарк и сравнить мощность виртуальной машины и реального компа.
По скорости вычислений эмулятор сливает реальному компу почти в 2 раза. Скорей всего где-то в настройках эмуляции выставлены не правильные параметры. Intel Pentium 233 MMX эмулируется гораздо быстрее.
Re: CPU benchmark
Добавлено: Вт мар 30, 2021 2:26 pm
arxont
а) Подумай насчёт того, как это всё выглядит с учётом многоядерности. Раньше у меня был проц 3.8ггц, но на 6 ядер. Теперь 2.5 гигагерц, но на 48 ядер. Что быстрее?
б) убери уёбу в плане printf(""), лучше считай что-нибудь - тот же расчёт числа пи (или фибоначи, или чего фрактального, или е) и подсчёт сколько цифр было рассчитано за минуту (запускаешь по потоку на каждое ядро, потом суммируешь - вот тебе сразу и сингл-тред, и многоядерный тест). Потом надо понимать, что количество подсчётов 2+2 у тебя выродится в скорость использования кэша, поэтому надо непредсказуемое.
Re: CPU benchmark
Добавлено: Вт мар 30, 2021 3:30 pm
b0r1sus
arxont писал(а): Вт мар 30, 2021 2:26 pm
а) Подумай насчёт того, как это всё выглядит с учётом многоядерности. Раньше у меня был проц 3.8ггц, но на 6 ядер. Теперь 2.5 гигагерц, но на 48 ядер. Что быстрее?
Многопоточность можно в майнинге, рендере, конверторах замерять. Ничего не мешает запустить бенчмарк в нескольких потоках, а потом сложить значения.
Cмех-смехом, а производительность выполнения однопоточной задачи на процессоре 3.8ггц возможно быстрее
arxont писал(а): Вт мар 30, 2021 2:26 pm
б) убери уёбу в плане printf(""), лучше считай что-нибудь - тот же расчёт числа пи (или фибоначи, или чего фрактального, или е) и подсчёт сколько цифр было рассчитано за минуту (запускаешь по потоку на каждое ядро, потом суммируешь - вот тебе сразу и сингл-тред, и многоядерный тест). Потом надо понимать, что количество подсчётов 2+2 у тебя выродится в скорость использования кэша, поэтому надо непредсказуемое.
В таком виде данный бенчмарк можно успешно использовать для сравнения производительности процессоров реальных компьютеров и виртуальных машин. Есть другие свободные бенчмарки на любой вкус.
Достоинство этого бенчмарка в простоте и переносимости.
Re: CPU benchmark
Добавлено: Пн апр 05, 2021 11:38 am
arxont
b0r1sus писал(а): Вт мар 30, 2021 3:30 pm
В таком виде данный бенчмарк можно успешно использовать для сравнения производительности процессоров реальных компьютеров и виртуальных машин. Есть другие свободные бенчмарки на любой вкус.
Достоинство этого бенчмарка в простоте и переносимости.
Я тебе ещё раз говорю, что ты ни разу не сравниваешь производительность процессоров. А сравниваешь скорость вывода на консоль. Которая зависит от текущего командного интерпретатора и его настроек. И если ты его запустишь через SSH, то какая скорость будет у процессора? Который будет ждать вывода на консоль и отрисовки printf на удалённом компьютере.
Даже
даст более правильное сравнение
Потом открой для себя stopwatch и больше никогда не занимайся порнографией с вычитанием времени.
Потом открой для себя noloop требование к бенчмаркам и пойми почему обычно считают фракталы какие-нибудь (или пресловутое пи, или фибоначи, или любое другое что не оптимизируется и не раскладывается). И потом выводят сколько насчиталось за минуту (к примеру).