Forth http://www.fforum.winglion.ru/ |
|
Сравнения скорости. Forth benchmarks. http://www.fforum.winglion.ru/viewtopic.php?f=18&t=3122 |
Страница 2 из 2 |
Автор: | nbkolchin [ Чт янв 05, 2023 16:35 ] |
Заголовок сообщения: | 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 он обычно проигрывает. |
Автор: | Hishnik [ Сб янв 07, 2023 16:21 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
nbkolchin писал(а): Но в целом видно, что классический ITC Forth сливает по скорости безнадёжно даже FLK от начала 90-х годов прошлого века. GForth значительно ускорился за счёт суперинструкций. В целом это и не нужно. Берем CUDA, и даже ассемблерная программа не имеет шансов догнать GPU. Повышение производительности одного потока вычислений CPU - тупик. Его давно обошли многопоточным программированием и спецвычислителями. Соответственно, и тянуть Форт нужно в совершенно другую сторону - интеграция, glueware, предметно-ориентированные фреймворки. |
Автор: | nbkolchin [ Вт янв 10, 2023 18:23 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
Hishnik писал(а): В целом это и не нужно. Берем CUDA, и даже ассемблерная программа не имеет шансов догнать GPU. Повышение производительности одного потока вычислений CPU - тупик. Его давно обошли многопоточным программированием и спецвычислителями. Соответственно, и тянуть Форт нужно в совершенно другую сторону - интеграция, glueware, предметно-ориентированные фреймворки. Во-первых, не все задачи легко распараллеливаются и ложатся на GPU. Во-вторых, принципиальный момент -- что в 80-е ITC сливал в 3-5 раз ( KPG бросал диссер какого-то прибалта про реализацию форта, там это было указано), а сейчас более 50. И по скорости ITC часто сливает даже Питону, что совсем неприлично. Скорее надо уходить от ITC и работать над упрощением преобразования стекового кода в регистровый для современных CPU. У нас эта проблематика сейчас хорошо проработана из-за JVM. |
Автор: | Hishnik [ Вт янв 10, 2023 18:27 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
Вопрос не в этом. Зачем вообще добиваться от кода на Форте высокой производительности? Оформление вызова заранее скомпилированной функции может быть в принципе менее 1% от времени выполнения, но коррекция и отладка порядка вычислений, аргументов, перебора, диапазонов и прочего собственно и составляет практически весь процесс работы с алгоритмом. Ну и пусть редактирование-отладка будет удобным, а быстрым будет не Форт, а вызываемый им код. |
Автор: | nbkolchin [ Вт янв 10, 2023 18:48 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
Hishnik писал(а): Вопрос не в этом. Зачем вообще добиваться от кода на Форте высокой производительности? Оформление вызова заранее скомпилированной функции может быть в принципе менее 1% от времени выполнения, но коррекция и отладка порядка вычислений, аргументов, перебора, диапазонов и прочего собственно и составляет практически весь процесс работы с алгоритмом. Ну и пусть редактирование-отладка будет удобным, а быстрым будет не Форт, а вызываемый им код. Так это Питон получается, с которым соревноваться бессмысленно, потому-что у него в пакетах лежат готовые решения на все случаи жизни. |
Автор: | Hishnik [ Вт янв 10, 2023 20:02 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
nbkolchin писал(а): Так это Питон получается, с которым соревноваться бессмысленно, потому-что у него в пакетах лежат готовые решения на все случаи жизни. На все случаи жизни решений быть не может. Развитие-то продолжается, и в пакеты попадает в основном то, что проработано и формализовано. Суть работы может быть тоже разной. Если в ней не подразумевается исследование, а все заключается в сборке-настройке, то может быть и Форту в такой деятельности места нет. Проще пользоваться готовыми инструментами с рекомендуемым порядком применения. У нас Форт в стандартных задачах и не применялся никогда, потому что почти все задачи нестандартные, и именно в их решении и был смысл работы. |
Автор: | KPG [ Чт янв 12, 2023 15:14 ] |
Заголовок сообщения: | 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. Более подробные цифры по тестам приведены в репе этого бенчмарка. |
Автор: | Hishnik [ Чт янв 12, 2023 15:17 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
KPG писал(а): На RC4 алгоритме и gForth системы Вывод - написать RC4 на Си и вызывать из Форта. |
Автор: | nbkolchin [ Ср янв 25, 2023 03:25 ] |
Заголовок сообщения: | Re: Сравнения скорости. Forth benchmarks. |
KPG писал(а): Да, блин. Во-первых нужно использовать для сравнения с Си 'gforth-fast', 'VFX' или 'LXF'. Во-вторых, автор не осилил разбор командной строки даже в Си и у меня получилось, что VFX порядок быстрее Си: - VFX: 0.716040419 seconds time elapsed - GCC 12.2: 6.491812772 seconds time elapsed Хреновый бенчмарк... |
Автор: | KPG [ Пн фев 06, 2023 15:32 ] |
Заголовок сообщения: | 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 и некоторые другие бенчмарки на этой странице |
Автор: | nbkolchin [ Пн фев 20, 2023 08:00 ] |
Заголовок сообщения: | 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 писал(а): Есть и такие Форт бенчмарки The ultimate Forth Benchmark The Forth MONSTER benchmark FFT benchmark code и некоторые другие бенчмарки на этой странице Три последние ссылки -- iForth и без модификаций не будет ни под чем другим запускаться. Ну или настолько старое, что тоже будут проблемы с запуском. P.S. У Эртла есть набор бенчей "appBench" на основе "реальных приложений на форте". Правда он давно их не обновлял. |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |