Чтобы правильно сравнивать скорость надо иметь одинаковые Бейсики с одинаковой точностью и одинаковой реализацией.
Чтобы правильно сравнивать скорость надо иметь одинаковые Бейсики с одинаковой точностью и одинаковой реализацией.
Собираю в коллекцию советские калькуляторы и компьютеры.
Мой сайт: http://www.leningrad.su/museum/
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Здесь объединяющую роль берут на себя сами бенчмарки + реализации бейсиков
достаточно близки в принципе (назовём это - "сходны"), ещё детальнее бейсик11 для прогона тестов на
живой УК-НЦ как и сами тесты были адаптированы [form]'ом (см. соотв. тему), если эти бенчмарки
считались неким показателем в прошлом, что мешает просто прогнать их на живом железе и дать vladtru результат? ) Или предложите более правильные бенчмарки для абсолютно несовместимых платформ?
Последний раз редактировалось hobot; 31.10.2015 в 17:32.
Вообще-то, речь вовсе не идёт о том, что результаты этих тестов дают точное соотношение скоростей самих ПК. Конечно, формально можно говорить только о соотношении скоростей конкретных Бейсиков на этих ПК. Но, тем не менее, эти результаты очень показательны и неплохо позволяют сравнить скорость и разных ПК, и разных процессоров (и напоминаю, что сравниваются самые основные для каждого ПК версии Бейсика, а не какие-то редкие варианты). Например, при достаточно большом количестве результатов для разных ПК (а их, кстати, гораздо больше, чем приведено в таблице) можно определить средний уровень скорости для каждого типа процессора (скажем, на единицу тактовой частоты), и этот показатель будет вполне достоверен - ведь он будет вычислен на основе реальных популярных моделей ПК.
Либо есть другой вариант – взять скорость самых быстрых ПК (на единицу «эффективной» тактовой частоты) на основе каждого процессора и считать именно её показателем реального быстродействия для всех ПК на этом процессоре (опять же с учётом эффективной тактовой частоты (с учётом торможения процессора) каждой модели ПК). Однако при этом надо как-то выяснить и каким-то образом учесть особенности интерпретаторов этих самых быстрых ПК – например, у того же лидера среди ПК на основе Z80 – Amstrad CPC – использована «хитрость» с предварительным преобразованием констант во внутренний формат, которая, конечно, влияет на скорость работы (возможно, тогда взять в качестве лидера не Амстрад, а МТХ-500 (его нет в таблице) или поискать и найти какой-то другой быстрый ПК на основе Z80; а можно попробовать пересчитать показатели Амстрада с учётом этой особенности его Бейсика).
Так что эти тесты вполне позволяют сравнивать скорости не только Бейсиков, но и (с оговорками) самих ПК: я например в комментариях написал, что, если судить по скорости интерпретаторов Бейсика, УКНЦ превосходил по скорости средний уровень 8-битных ПК примерно в 3 раза (а все представленные 8-битные ПК, кстати, имеют достаточно близкую мощность процессора (с разбросом раза в 1,5), за исключением, пожалуй, BBC Micro), и это вполне значимый и достоверный результат, поскольку в таблице есть показатели аж для 18 восьмибитных ПК, среди которых все самые популярные модели: С64, Apple II, ZX Spectrum, VIC-20, MSX и т.д.
Кстати, многие Бейсики не так уж сильно отличаются друг от друга: например, видно, что VIC-20, Apple II и Commodore 64 показывают очень близкие результаты (у них почти одинаковые процессоры с близкой частотой и, очевидно, очень близкие Бейсики). На многих советских 8-битных ПК Бейсики обычно также довольно похожи (их изначальная основа – ещё первые Бейсики от Майкрософта), а на БК и УКНЦ есть вообще практически одинаковые по применяемым алгоритмам версии (Бейсик-11 и вильнюсский Бейсик).
А вообще, ваша мысль об одинаковых Бейсиках очень интересная – такие Бейсики для некоторых типов ПК есть! Например, для моделей, поддерживающих CP/M (а это большинство нормальных ПК на основе Z80, КР580ВМ80А и т.п.) можно сравнивать стандартный майкрософтовский Бейсик для CP/M (я, правда, не уверен, есть ли он для 8080, поскольку помню его только для Z80, но вроде должен быть). А для PDP-11-совместимых прекрасно подойдёт всё тот же Basic-11/RT-11 (у него, однако, есть несколько вариантов для разных типов процессоров). Правда, это несколько усложняет задачу – для запуска этих Бейсиков надо обязательно иметь дисковод. Но если у кого-то будет возможность проверить на своих ПК стандартный Бейсик для CP/M или Бейсик-11, то эти результаты были бы очень интересны! Они, действительно, позволили бы достаточно достоверно сравнить скорость соответствующих ПК.
Возможно, и для ПК на основе семейства 6502 есть какие-то общие Бейсики – тут я совсем не в курсе. Кстати, как я уже упоминал, по крайней мере у Apple II и С64 (а также VIC-20) Бейсики в основе своей практически одинаковые, а эти ПК – самые массовые на базе 6502 (наряду с Атари). Так что, если подобный Бейсик (насколько я понимаю, от Майкрософт) есть и на Атари, то можно считать, что общий Бейсик для 6502 мы нашли.
Ещё хочу добавить, что, насколько я помню, на основных ПК с процессором 6809 (a это, прежде всего, Tandy CoCo разных модификаций (см. Dragon 32)) тоже использовался Бейсик от Майкрософт, и, судя по результатам тестов, этот Бейсик совершенно аналогичен Бейсику С64, Apple II и VIC-20. Так что, как ни странно, вполне может быть, что на всех основных семействах ПК можно найти почти одинаковые Бейсики. Во всяком случае, происхождение у большинства стандартных Бейсиков одно - от Майкрософт.
Может быть, кто-то прояснит нам ситуацию с Бейсиками для CP/M – как они называются, чем отличаются, есть ли версия для процессора 8080? А также, есть ли подобные Бейсики для ПК на основе 6502?
Последний раз редактировалось vladtru; 31.10.2015 в 20:16.
Использовал для тестов своей поделки программу из приложения к журналу "Информатика и образование", выпуск января 1993 года, стр. 125-128 (скачать можно тут, http://vk.com/doc-72949118_387237081 ). Поделка показала время 44 секунды, что на две секунды быстрее Второяблока(по таблице в статье). Указанные выше тесты являются кусочками из этой программы,.. теперь не знаю, как тестировать заново... Может, остановиться на полном варианте? Насколько "кусочные" бенчмарки интереснее?
А может под Бейсик есть что-то типа вычисления числа Пи (как обычно сейчас используют)?
ЗЫ. Про историю Бейсиков под 6502 ( и для 6809 думаю тоже), читаем тут, http://www.pagetable.com/?p=46
Последний раз редактировалось rw6hrm; 31.10.2015 в 20:46.
В этой статье приведён самый обычный тест ВМ7, точно такой же, как в листингах выше. И это неплохой вариант для тестирования, поскольку ВМ7 – самый сложный тест из всего набора ВМ1-ВМ8. Но это всё же лишь один тест из восьми, и его информативность, конечно, намного ниже, чем у полного набора тестов.
Кстати, по этой же причине не стоит особенно надеяться на более сложные варианты тестов (то же вычисление Пи, «решето Эратосфена» и т.д.) – с одной стороны, эти тесты больше похожи на реальные программы (более сложны), но в то же время их результат мало о чём говорит (кроме общей скорости выполнения некой «смеси» операторов Бейсика) – а набор тестов ВМ1-ВМ8 позволяет оценить и отдельные конкретные параметры (скорость FOR и IF, скорость вещественной арифметики и вычисления сложных функций), и более сложную «смесь» (тот же ВМ7). Так что данные ВМ1-ВМ8 намного интереснее, чем показатели какого-то одного сложного теста.
Я, например, делал на эмуляторах тестирование так называемого Calculator Benchmark (задача «8 ферзей») – несколько более сложного теста, который, впрочем, состоит в основном из операторов IF и простейших арифметических вычислений (без умножения и деления), см. https://www.youtube.com/watch?v=pdBKFGMwJdQ. Так его результаты (по соотношению скоростей разных ПК) очень напоминают результаты тестов ВМ6 и ВМ7. То есть, в общем-то, ничего нового он не даёт.
Спасибо за ссылку по истории Бейсиков 6502 – она, в том числе, подтверждает, что для всех основных ПК с процессором 6502 (PET, VIC-20, С64, Apple II, Атари и т.д.) существовали почти одинаковые версии Бейсика от Майкрософта. Также там написано, что версия для 6502 была получена конвертированием версии для 8080, а это значит, что сами принципы и конкретные алгоритмы работы старых майкрософтовских Бейсиков-интерпретаторов для 8080 (а также, очевидно, Z80) и 6502 должны быть одинаковыми (или в основном одинаковыми), что вполне позволяет точно сравнивать ПК на разных процессорах с этими Бейсиками. И, как я уже писал выше, Бейсик для 6809 по скорости (а значит и принципам работы) совершенно аналогичен MS Бейсику для 6502. Только надо стараться сравнивать версии с одинаковой точностью (обычно 40-бит/9 цифр).
Почитал про вашу «Аюшу» - очень интересно, но для наших краёв, конечно, необычно, хотя сам процессор 6502 – это конечно гениальная разработка (точнее, удачное подражание гениальному Мотороле 6800, а вот на чём основана Моторола – не знаю…). Когда-то я тоже удивлялся – чего это американцы, не стесняясь, делают ПК с тактовой частотой 1 МГц – и лишь в последние годы узнал, что этот 1 МГц у 6502 равен 2,5-3 МГц у Z80 и подобных… А результат у вас практически равен Эпплу 2, небольшая разница может быть связана с какими-то незначительными отличиями в тактовой частоте.
PS. Кстати, в моей таблице Apple II выполняет тест ВМ7 за 44,8 с, а это уже практически равно вашему результату...
Последний раз редактировалось vladtru; 01.11.2015 в 01:46.
Вот ещё мысли насчёт сравнения скорости не только Бейсиков, но и ПК в целом.
Понятно, что сравнить ПК по скорости процессора при одинаковых процессорах проще простого: надо лишь знать их «эффективную» тактовую частоту (т.е. степень торможения процессора другими компонентами ПК), которая, вообще-то, для многих ПК уже хорошо известна, а если нет, то её легко вычислить на основе этих же тестов, используя близкие трансляторы Бейсика и зная эффективную частоту хотя бы одного ПК, измеренного на этих Бейсиках. Кстати, тесты ВМ1-ВМ8 прекрасно позволяют определить схожие по происхождению и алгоритмам работы Бейсики: если процентное соотношение между всеми 8-ю тестами для разных ПК одинаковое или почти одинаковое, то, вполне очевидно, что и Бейсики у них, по крайней мере, очень похожие (в вычислительной части).
Более важна другая задача – сравнение скорости ПК с разными процессорами. Особенно интересны такие пары: Z80 и КР580ВМ80А (i8080) – об этом информации почти нет; Z80 и 6502 - об этом, правда, и так достаточно много данных; Z80 и i8088/8086 – информации почти нет; КР580ВМ80А и К1801ВМ1 (ВМ2) – информации почти нет и т.д. В этом вопросе опять же возможны два подхода. Первый – взять результаты примерно одинаковых Бейсиков для разных ПК (например, те же майкрософтовские Бейсики для Альтаира (i8080 или Z80) и 6502), но обязательно с одинаковой точностью вычислений. Второй – взять самые быстрые варианты Бейсиков для каждого процессора (но опять же с одинаковой точностью и с учётом возможных особенностей транслятора, заметно влияющих на скорость).
В целом, такая таблица даёт много интересной информации: не только общая скорость работы стандартного Бейсика и самого ПК, но и скорость отдельных операций Бейсика (циклы, арифметика, сложные функции), а также позволяет легко увидеть общность происхождения Бейсиков для разных ПК и даже даёт возможность довольно точного сравнения производительности разных типов микропроцессоров.
offtop
Я бы только уточнил, что вряд ли указанная в копирайте компания
является подлинным разработчиком Бейсика, думаю исторически это
не так. Теориейвероятностейпользовались и до Эйнштейна и после него.локальной структуры пространства-времени
http://www.linuxfocus.org/Russian/Ja...ml#277lfindex2
[свернуть]
Последний раз редактировалось hobot; 31.10.2015 в 21:59.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)