Важная информация

User Tag List

Страница 16 из 32 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 312

Тема: Вычисление числа Пи на ассемблере

  1. #151
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Никакой, bare metall.
    Ну и ну!

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Быстрый - вызывать для полученной текстовой строки какую-либо функцию подсчета контрольной суммы
    Тема и так скучноватая, а удаление вывода на экран сделает её совсем аутичной. И, потом, идя на поводу пожеланий отдельных энтузиастов отдельных систем впадаем в унылое крохоборство. Эта погоня за 3% процентами - жалкое зрелище...

    Цитата Сообщение от ivagor Посмотреть сообщение
    удалось обогнать текущую версию 6502 не только при расчете 100 цифр, но и 1000.
    Теперь можно смело писать в википедию, что Вектор самый быстрый суперкомпьютер. Там уже кто-то, не жалея длинных предложений, написал (подозреваю, что известно кто), что Корвет чемпион по заливке экрана краской, а графика Вектора лучшая в мире. Ещё бы з/п всем на 150 руб и будет полное "чисто советское" счастье. Сам имел дело с Корветами в начале 90-х - ужас!
    Какие 6502?! Ну запустим программу на ускорителе для Агата с 5 МГц и что? Или на Atari Lynx. Интересно, конечно, поиспытывать 8085, но выходим на уровень эксперименатальных и почти неизвестных компьютеров... Модель Commodore 65 была выпущена в 1990 тиражом около 1000 штук, но разве можно её сравнивать с другими 8-битными коммодорами? Вектор 6128 модель 1991 года и очень редкая... Удивительно почему 8085 так не часто использовали - его гораздо проще подключать, меньше нужно всяких интерфейсных схем... За рубежом более-менее понятно - сложная политика, а в России? Кстати, упомятутый ускоритель получался простым наращиванием напряжения до 20 вольт, а можно так с 8080, ВМ1, ВМ2, ... ?
    Уважаемый ivagor, стремление довести код до максимальной скорости делает его нечитабильным - не стал разбираться с тем, что вы сделали. Не советую разбираться и со своим. Такие коды делают их неотделимыми от авторов и затрудняют тестирование с другими системами. Как, например, теперь объективно сравнить результаты с БК? Сидеть кому-то несколько дней, изучать проблему быстрого деления?
    Собрал данные по разным коммодорам.
    Commodore 64 PAL - 5.87 c - 572.4 c (9m 32.4s) - 5138.9 c (85m 38.9s)
    Commodore 128 - 3.17 c - 303.3 c (5m 3.3s) - 2720.4 c (45m 20.4s)
    Commodore +4 PAL - 2.77 c - 266.5 (4m 26.5s) - 2390.4 (39m 50.4s)
    Данные по 100, 1000 и 3000 цифр.
    http://www.lemon64.com/forum/viewtop...=709114#709114
    Последний раз редактировалось litwr; 21.12.2015 в 20:21.

  2. #151
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #152
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Очень просто - по секундомеру.
    Не понял, как тут возник секундомер? Речь была о том, что сравниваться стали не алгоритмы или техника, а трудозатраты. Потратим 1000 человекочасов и получим более быструю программу, чем те, кто потратил 100. Но как это отобразить, нормировать? Не для всякой платформы найдутся желающие в этом чем-то не совсем нормальном участвовать.Поэтому вопрос, как сравнивать с БК, остаётся. Повторю, именно с БК, а не с конкретным кодером.

    И пару слов не в тему. Отпимизирующий компилятор легко сделает любого программиста на ассемблере, если только тот не готов тратить раз в 100 больше времени на разрaботку кода, имея лишь шанс догнать компилятор. А смысл модных языков может в том и состоит, чтобы развивать способности человека, а не максимально утилизировать железо. Написать рекурсию в лябда-функции - это какой-то новый уровень развития серого вещества.
    Последний раз редактировалось litwr; 19.12.2015 в 22:16.

  4. #153
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    стремление довести код до максимальной скорости делает его нечитабильным
    Да, но хотелось максимально ускорить. Обычный (по крайней мере для асма) размен понятности на скорость. Правда можно написать комментарии, только не хочется.

    Возвращаясь к приземленным вопросам - версию для 8080 можно еще немного ускорить за счет оптимизации умножения. Через таблицу квадратов ускорить не получалось, но получилось (немного) быстрее с использованием таблицы процедур. Таблица генерируется перед началом работы. Занимает 16 Кб, но можно ужать до 8, но так будет медленнее. Хотелось бы выйти из 3 секунд для 100 и из 5 мин для 1000, но не уверен, что это получится.

    UPD: Про ВМ85 убрал, т.к. пруфов по датам и ценам привести не могу, т.е. мог ошибиться
    Последний раз редактировалось ivagor; 19.12.2015 в 23:06.

  5. #154
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Отпимизирующий компилятор легко сделает любого программиста на ассемблере
    Для 8080 (да и для z80 вряд ли) подобных высокоэффективных компиляторов C нет и никогда не будет (к сожалению).

  6. #155
    Banned
    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Последний раз редактировалось Viktor2312; 20.12.2015 в 00:07.

  7. #156
    Banned
    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Вероятно потребуется помощь коллег математиков для подбора подходящего алгоритма, позволяющего перешагнуть далеко за 3 сек для скромной целочисленной арифметики ретро-процессора КР580ВМ80А.
    Наша скромная Арифметика, уже порвала пентиум-2

    Вот простенькая программа на Паскале, считающая пи этим способом... Четыре первых знака требуют на моем PentiumII-300 около 5 минут...

  8. #157
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Для 8080 (да и для z80 вряд ли) подобных высокоэффективных компиляторов C нет и никогда не будет (к сожалению)
    И не может быть, потому что свойственное опытному "восьмибитному" ассемблерщику трюкачество (от самомодифицируемого кода и жонглирования ограниченными регистрами до подбора удобных адресов и даже команд с удобными опкодами) даже сверхвысокоэффективный компилятор сможет в лучшем случае повторить, но не превзойти. Ну, разве что, появится сверхкомпьютер, способный за не очень долгое конечное время забрутфорсить код на несколько килобайт
    Прихожу без разрешения, сею смерть и разрушение...

  9. #158
    Banned
    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А мне ББП понравилась, буду ради интереса её использовать, изящная и красивая.

    Формула Бэйли-Боруэйна-Плаффа (BBP-формула, Формула ББП) для вычисления n-го знака числа Пи в шестнадцатеричной системе счисления. Формула позволяет найти любую цифру числа Пи без необходимости вычисления предыдущих. Формула была впервые открыта в 1995 году Саймоном Плаффом и называется в честь авторов статьи, где формула была впервые опубликована, Дэвида Бэйли, Питера Боруэйна и Саймона Плаффа. До выхода статьи, она была опубликована Саймоном Плаффом на персональном сайте. Формула выглядит как:

    Последний раз редактировалось Viktor2312; 20.12.2015 в 21:17.

  10. #159
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    компиляторы пишут
    Сам пишу (и даже для БК что-то сделал ) и знаком с программистом, который над gcc работает и который сделал лучшие в мире генераторы компиляторов по LR(k) и Эрли разбору. Для хорошей оптимизации надо просто очень много квалифицированнного труда - ничего сверхестественного. Программист против отпимизатора - это ремесленник против конвейера. Конечно, речь не о 8-битных системах.
    Цитата Сообщение от perestoronin Посмотреть сообщение
    что скажут поклонники Колибри
    А это с какого боку? Сам поклонник Колибри - времени не хватает на активную поддержку. Удивлен, что вы не сообщали на первом сообщении о результатахпо ДВК, ВМ2, ...
    Цитата Сообщение от ivagor Посмотреть сообщение
    версию для 8080
    Дело в том, что любой код для 8080 или 8085 (с недокументированными инструкциями) можно механически переносить на 6502. Будет получаться код в худшем случае на 50% более быстрый для 6502 на той же частоте, т.е. 6502 на 2 МГц как 8080 на 3 МГц. А если не механически, то тут можно и на 100% и более пробовать. Коды вы сделали очень хорошие, но их привязка к такой поздней и почти неизвестной модели (скорее к сомнительной эмуляции) делает их "слегка" проблематичными.
    Последний раз редактировалось litwr; 20.12.2015 в 22:57.

  11. #160
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Программист против отпимизатора - это ремесленник против конвейера. Конечно, речь не о 8-битных системах.
    Если речь о современных системах, то вроде как человеки пока лучше оптимизируют некоторые векторные расчёты. Да и в целом компиляторы до сих пор не свободны от недоработок, а то и элементарнейших ляпов (тот же gcc года полтора тому назад не умел в цикле с уменьшением до нуля делать переход к началу по флагу знака)))
    Прихожу без разрешения, сею смерть и разрушение...

Страница 16 из 32 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Мнемокоманды и числа.
    от ALKO в разделе Программирование
    Ответов: 0
    Последнее: 15.02.2014, 03:49
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Определение числа сторон
    от mungo в разделе Внешние накопители
    Ответов: 1
    Последнее: 16.03.2012, 18:06

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •