Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 18:58

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Сравнения скорости. Forth benchmarks.
Автор Сообщение
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
KPG писал(а):
nbkolchin писал(а):
Во-вторых, принципиальный момент -- что в 80-е ITC сливал в 3-5 раз ( KPG бросал диссер какого-то прибалта про реализацию форта, там это было указано), а сейчас более 50. И по скорости ITC часто сливает даже Питону, что совсем неприлично.

Скорее надо уходить от ITC и работать над упрощением преобразования стекового кода в регистровый для современных CPU. У нас эта проблематика сейчас хорошо проработана из-за JVM.


Возможно ITC ещё не так сильно проигрывает в замерах для контроллеров AVR,PIC,STM8,STM32,MCS-51 ...
но, это возможно имеет смысл проверить отдельно на существующих вариантах.


Конечно, не так сильно. Чем ближе к 80-м -- тем меньше проигрывает.

KPG писал(а):
А, LXF имеется только в бинарном виде или в исходниках тоже можно увидеть?


Только бинари. У него даже странички в интернете нет. Только файл для скачивания на тайгете.

KPG писал(а):
В замеры можно включить ещё SPF4 реализованный и для Linux 32.


Я его иногда включаю, но с ним сложно бывает из-за отсутствия поддержки Forth-2012.

KPG писал(а):


Три последние ссылки -- iForth и без модификаций не будет ни под чем другим запускаться. Ну или настолько старое, что тоже будут проблемы с запуском.

P.S. У Эртла есть набор бенчей "appBench" на основе "реальных приложений на форте". Правда он давно их не обновлял.
Сообщение Добавлено: Пн фев 20, 2023 08:00
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
nbkolchin писал(а):
Во-вторых, принципиальный момент -- что в 80-е ITC сливал в 3-5 раз ( KPG бросал диссер какого-то прибалта про реализацию форта, там это было указано), а сейчас более 50. И по скорости ITC часто сливает даже Питону, что совсем неприлично.

Скорее надо уходить от ITC и работать над упрощением преобразования стекового кода в регистровый для современных CPU. У нас эта проблематика сейчас хорошо проработана из-за JVM.


Возможно ITC ещё не так сильно проигрывает в замерах для контроллеров AVR,PIC,STM8,STM32,MCS-51 ...
но, это возможно имеет смысл проверить отдельно на существующих вариантах.

P.S. Запускал Тест счастливых билетов на VFX Forth и amForth и вроде для MSP430 в рамках обсуждения времени его выполнения для разных калькуляторов на сайте pmk.arbinada.com и он, вроде, достаточно неплохо выполнился в рамках этих контроллеров. На этом же сайте есть замеры по тесту 8-ми ферзей.
VFX правда для контроллеров (STM32, MSP430) в натив переводит Форт код.

А, LXF имеется только в бинарном виде или в исходниках тоже можно увидеть?

В замеры можно включить ещё SPF4 реализованный и для Linux 32.

Интересно, что gForth из репы полностью у меня собрался для Linux 32 в рамках ScPup32. :)
BigForth тоже рабочий с мелкими замечаниями.

Для Windows форк SPF4 от mOleg имеет в своей реализации разные варианты шитого кода и тоже может выступать некоторым тестом для них.

Есть и такие Форт бенчмарки
The ultimate Forth Benchmark
The Forth MONSTER benchmark
FFT benchmark code
и некоторые другие бенчмарки на этой странице
Сообщение Добавлено: Пн фев 06, 2023 15:32
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
KPG писал(а):
Forth VS C (and Pascal)
На RC4 алгоритме и gForth системы


Да, блин. Во-первых нужно использовать для сравнения с Си 'gforth-fast', 'VFX' или 'LXF'. Во-вторых, автор не осилил разбор командной строки даже в Си и у меня получилось, что VFX порядок быстрее Си:

- VFX: 0.716040419 seconds time elapsed
- GCC 12.2: 6.491812772 seconds time elapsed

Хреновый бенчмарк...
Сообщение Добавлено: Ср янв 25, 2023 03:25
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
KPG писал(а):
На RC4 алгоритме и gForth системы

Вывод - написать RC4 на Си и вызывать из Форта.
Сообщение Добавлено: Чт янв 12, 2023 15:17
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Forth VS C (and Pascal)
На RC4 алгоритме и gForth системы

Цитата:
Intel Core i7-5930K CPU @ 3.50GHz
using gcc 8.3.0 and gforth 0.7.3 on Linux 5.0.0.
Free Pascal Compiler v3.0.4+dfsg-22 [2019/01/24] for x86_64.


Код:
          Comparison

            Test      Language   Iterations   Time/sec      Iterations/Time

          Key
                      Forth      100000       21.573        4635
          Schedules

                      C          10000000     6.822         1465846

                      Pascal     10000000     23.601        423711

          Key
                      Forth      10000000     19.560        511247
          Stream

                      C          2000000000   5.976         334672021

                      Pascal     2000000000   8.844         226142017


P.S. Более подробные цифры по тестам приведены в репе этого бенчмарка.
Сообщение Добавлено: Чт янв 12, 2023 15:14
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
nbkolchin писал(а):
Так это Питон получается, с которым соревноваться бессмысленно, потому-что у него в пакетах лежат готовые решения на все случаи жизни.

На все случаи жизни решений быть не может. Развитие-то продолжается, и в пакеты попадает в основном то, что проработано и формализовано. Суть работы может быть тоже разной. Если в ней не подразумевается исследование, а все заключается в сборке-настройке, то может быть и Форту в такой деятельности места нет. Проще пользоваться готовыми инструментами с рекомендуемым порядком применения. У нас Форт в стандартных задачах и не применялся никогда, потому что почти все задачи нестандартные, и именно в их решении и был смысл работы.
Сообщение Добавлено: Вт янв 10, 2023 20:02
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Hishnik писал(а):
Вопрос не в этом. Зачем вообще добиваться от кода на Форте высокой производительности? Оформление вызова заранее скомпилированной функции может быть в принципе менее 1% от времени выполнения, но коррекция и отладка порядка вычислений, аргументов, перебора, диапазонов и прочего собственно и составляет практически весь процесс работы с алгоритмом. Ну и пусть редактирование-отладка будет удобным, а быстрым будет не Форт, а вызываемый им код.


Так это Питон получается, с которым соревноваться бессмысленно, потому-что у него в пакетах лежат готовые решения на все случаи жизни.
Сообщение Добавлено: Вт янв 10, 2023 18:48
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Вопрос не в этом. Зачем вообще добиваться от кода на Форте высокой производительности? Оформление вызова заранее скомпилированной функции может быть в принципе менее 1% от времени выполнения, но коррекция и отладка порядка вычислений, аргументов, перебора, диапазонов и прочего собственно и составляет практически весь процесс работы с алгоритмом. Ну и пусть редактирование-отладка будет удобным, а быстрым будет не Форт, а вызываемый им код.
Сообщение Добавлено: Вт янв 10, 2023 18:27
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Hishnik писал(а):
В целом это и не нужно. Берем CUDA, и даже ассемблерная программа не имеет шансов догнать GPU. Повышение производительности одного потока вычислений CPU - тупик. Его давно обошли многопоточным программированием и спецвычислителями. Соответственно, и тянуть Форт нужно в совершенно другую сторону - интеграция, glueware, предметно-ориентированные фреймворки.


Во-первых, не все задачи легко распараллеливаются и ложатся на GPU.

Во-вторых, принципиальный момент -- что в 80-е ITC сливал в 3-5 раз ( KPG бросал диссер какого-то прибалта про реализацию форта, там это было указано), а сейчас более 50. И по скорости ITC часто сливает даже Питону, что совсем неприлично.

Скорее надо уходить от ITC и работать над упрощением преобразования стекового кода в регистровый для современных CPU. У нас эта проблематика сейчас хорошо проработана из-за JVM.
Сообщение Добавлено: Вт янв 10, 2023 18:23
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
nbkolchin писал(а):
Но в целом видно, что классический ITC Forth сливает по скорости безнадёжно даже FLK от начала 90-х годов прошлого века. GForth значительно ускорился за счёт суперинструкций.

В целом это и не нужно. Берем CUDA, и даже ассемблерная программа не имеет шансов догнать GPU. Повышение производительности одного потока вычислений CPU - тупик. Его давно обошли многопоточным программированием и спецвычислителями. Соответственно, и тянуть Форт нужно в совершенно другую сторону - интеграция, glueware, предметно-ориентированные фреймворки.
Сообщение Добавлено: Сб янв 07, 2023 16:21
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
KPG писал(а):
Forth_coremark
Цитата:
Forth_coremark предоставляет порт эталонного теста CoreMark для языка программирования Forth.


На AMD5950X Coremark даёт следующие результаты:

Код:
flk 1.3.2         | 11915
SwiftForth        | 8738
VFX 5.20 32-bit   | 15240
VFX 5.20 64-bit   | 14563
GForth 0.7.9      | 1092
GForth-fast 0.7.9 | 4096
GForth 0.7.3      | 512
IKForth           | 682
LXF               | 13107
GCC 12.2          | 41849
Clang 14.0.6      | 36480


У меня тихое подозрение, что Coremark.f некорректно работает на 64-битных системах.

Но в целом видно, что классический ITC Forth сливает по скорости безнадёжно даже FLK от начала 90-х годов прошлого века. GForth значительно ускорился за счёт суперинструкций.

Единственная более-менее пристойная реализация -- VFX. Но Coremark для него -- удачный бенч. На большинстве других он сильно проигрывает С компиляторам. Да и LXF он обычно проигрывает.
Сообщение Добавлено: Чт янв 05, 2023 16:35
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
dmitry-st писал(а):
На http://benchmarksgame.alioth.debian.org/ Форт исчез к сожалению.

The Computer Language: 22.05 Benchmarks Game

Сравнение производительности программ написанных на Forth и C (2003)
Код:
В забеге участвовали - VC6SP5; GCC-3.2-2; spf3.76-239; SPF4 билд 11.

                                                                                            spf4/
                                       VC(opt)   VC       GCC        SPF3       SPF4
                                                                                           c lider
         Ackermann's Function            0.032   0.087      0.036         *       0.073         2.2
         Array Access                    0.040   0.200      0.028     4.284       0.201         7.1
         Exception Mechanisms            0.064   0.065      0.058     0.652       0.073         1.2
         Fibonacci Numbers               0.104   0.154      0.111     0.943       0.161         1.5
         Hash Access                     0.533   0.577      0.528     3.575       0.354         0.6
         Hashes, Part II                 1.397   1.854      1.379    20.390       2.172         1.5
         Heapsort                        0.121   0.167      0.115         *       0.319         2.7
         Hello World                     1.287   1.282      1.690     1.311       1.400         1.0
         List Operations                 0.116   0.155      0.102     0.764       0.126         1.2
         Matrix Multiplication           0.063   0.207      0.088     2.319       0.211         3.3
         Method Calls                    0.061   0.101      0.050     0.960       0.095         1.9
         Nested Loops                    0.011   0.181      0.080     0.300       0.216        19.6
         Object Instantiation            1.056   1.127      1.142     3.743       1.765         1.6
         Random Number Generator         0.083   0.100      0.040         *       0.096         2.4
         Sieve of Eratosthenes           0.168   0.525      0.168     1.755       0.446         2.6
         String Concatenation            0.019   0.015      0.015     0.105       0.014         0.9
         Reverse a File                  0.193   0.203      0.236     1.050       0.265         1.3
         Spell Checker                   0.679   0.840      0.823     2.412       0.784         1.1
         Sum a Column of Integers        0.261   0.260      0.475     5.393       0.726         2.7
         Count Lines/Words/Chars         0.362   0.680      0.352     8.411       0.321         0.9
                               Sums:     6.650   8.780      7.516    58.364       9.818 

                               Особенности тестирования.

         Тестовая платформа - Microsoft WindowsXP, AMD Duron (Spitfire) 700MHz,
         L1 Cache 64Kb+64Kb, L2 Cache 64Kb, память 128Mb.

         VC запускался в двух режимах - с включенной оптимизацией по скорости и без.

         SPF-версии тестов были сделаны на основе тестов для gcc и gforth.

         Тесты с плавающей точкой в SPF3 не производились.
Сообщение Добавлено: Вт янв 03, 2023 19:47
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Forth_coremark
Цитата:
Forth_coremark предоставляет порт эталонного теста CoreMark для языка программирования Forth.
Это позволяет сравнивать компиляторы Forth с компиляторами Forth и компиляторами C на одной и той же машине.
Кроме того, forth_coremark позволяет сравнить стековые машины, запрограммированные на Forth, и процессоры, запрограммированные на C.

Forth_coremark написан, используя ANS94, чтобы облегчить портирование и оптимизацию для максимально возможного количества сред Forth и машин на основе стека.


Код:
S" coremark.f" INCLUDED
coremark


Код:
CoreMark Iterations/Sec

GCC 5.5.0:                  21428
Gforth 0.7.3:                1260
SwiftForth i386-Linux 3.7.8: 5461
VFX Forth for Linux 4.81:    8192


P.S. ForthFreak
Код:
: count 1+ dup 1- c@ ;
Сообщение Добавлено: Вт янв 03, 2023 18:57
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Чья то сегодняшняя небольшая статья на Хабр (в аспекте деградации "Форт" ядра от реализации в минимальном базисе примитивов) наверное, близко уже обсуждаемым минимального базиса Форт примитивов на местном форуме или ezoteric /forth

Сколько нужно примитивов для реализации форт системы?
Сообщение Добавлено: Вс дек 27, 2020 11:29
  Заголовок сообщения:  Re: Сравнения скорости. Forth benchmarks.  Ответить с цитатой
Ещё одна Форт пузомерка "ретро" железа. :)

The ultimate Forth Benchmark
Код:
The Ultimate Benchmark is a competition held during retro computing events. The goal of this competition is not to find the fasted and most capable machine or Forth system, but to price the most active participant.

List of Forth Implementations

P.S. Не представлено результатов по железным Форт процессорам, но есть, например, DEC 3000-600 Alpha 21064 175Mhz
Сообщение Добавлено: Сб дек 26, 2020 06:36

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB