Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Бенчмарки https://zx.oberon.org/forum/viewtopic.php?f=46&t=347 |
Страница 1 из 4 |
Автор: | budden [ 19 янв 2018, 23:20 ] |
Заголовок сообщения: | Бенчмарки |
Добрый день! Мы с кем-то из вас явно уже встречались в теме "вопросы от лиспера" на Oberon Core. Захожу на второй круг рассмотрения Оберона. Интересуют бенчмарки Оберона. Например, из широко известного (но не всегда объективного) "Computer benchmark game". |
Автор: | Comdiv [ 19 янв 2018, 23:52 ] |
Заголовок сообщения: | Re: Бенчмарки |
Здравствуйте. Раньше на "Computer benchmark game" был в сравнении транслятор Оберона, по-моему, ОО2С или другой транслятор в Си. Когда транслятор удалили из репозитория Debian, то он исчез и из сравнения. Немного benchmark'ов можно найти на форуме oberspace: Простейший тест на производительность. Расширенный тест на производительность. В целом, это не самое любимое развлечение программистов, использующих Oberon. Если Вас интересует производительность, почему не хотите в качестве выходного языка использовать Си или LLVM? Зачем Oberon? |
Автор: | budden [ 20 янв 2018, 01:37 ] |
Заголовок сообщения: | Re: Бенчмарки |
https://github.com/valexey/bigbench - можете разъяснить, где здесь языки? Или это всё Оберон? По https://github.com/valexey/bubble_test производительность выглядит приемлемой для языка, который не слишком популярен - понятно, что его сообщество не может себе позволить потратить много сил на оптимизацию. Производительность не является для меня основным приоритетом. Она должна быть более-менее приличной. Если в 0.3х от Си укладывается, то нормально. Здесь чуть хуже, но для начала сойдёт. |
Автор: | budden [ 20 янв 2018, 01:38 ] |
Заголовок сообщения: | Re: Бенчмарки |
А вы не помните, в каком году его выкинули? Может быть, можно в веб-архиве посмотреть. Всё же там много тестов, и это более надёжно. |
Автор: | budden [ 20 янв 2018, 01:41 ] |
Заголовок сообщения: | Re: Бенчмарки |
А, понял, где языки. Так вроде всё выглядит неплохо. |
Автор: | budden [ 20 янв 2018, 01:45 ] |
Заголовок сообщения: | Re: Бенчмарки |
Для меня, как вы, возможно, помните, необходима инкрементная компиляция, да и сборка мусора, в принципе, тоже необходима. У Оберона всё это есть. Инкрементная компиляция в Си делается слишком уж страшно - через вызов внешнего компилятора и генерацию разделяемых объектных файлов (ну или по сути городить свой ассемблер внутри программы, тогда это уже не Си). Плюс очень медленная компиляция в Си. Т.е. вообще всё плохо. LLVM - это очень монструозный проект. Я один раз пытался CLANG собрать и это не удалось, причём он сначала очень долго мне простыню крутил. Я люблю, когда быстро собирается. Минут 5-10 - это самый максимум, а лучше - не более минуты двух. Лисп это позволяет, Оберон, видимо, тоже. Си - нет. |
Автор: | Comdiv [ 20 янв 2018, 14:15 ] |
Заголовок сообщения: | Re: Бенчмарки |
budden писал(а): По https://github.com/valexey/bubble_test производительность выглядит приемлемой для языка, который не слишком популярен - понятно, что его сообщество не может себе позволить потратить много сил на оптимизацию Вообще-то Алексей пробовал Ocaml, предполагая его использовать для практических целей, и не дожидаясь от сообщества Ocaml бенчмарков, написал свой. Оберон там оказался лишь забавы ради, чтобы 2-а раза не вставать.Цитата: Производительность не является для меня основным приоритетом. Она должна быть более-менее приличной. Если в 0.3х от Си укладывается, то нормально. Здесь чуть хуже, но для начала сойдёт. Что означает "для начала сойдёт"? Потом-то она не улучшится. Компилятор BlackBox никто не будет существенно переделывать, он по дизайну не предназначен для значительных оптимизаций.
|
Автор: | Comdiv [ 20 янв 2018, 14:17 ] |
Заголовок сообщения: | Re: Бенчмарки |
budden писал(а): А, понял, где языки. Так вроде всё выглядит неплохо. Но выглядит всё неплохо именно для транслятора Оберона в Си, который собирается в режиме максимальной, длительной по времени оптимизации. |
Автор: | Comdiv [ 20 янв 2018, 14:53 ] |
Заголовок сообщения: | Re: Бенчмарки |
budden писал(а): Для меня, как вы, возможно, помните, необходима инкрементная компиляция, да и сборка мусора, в принципе, тоже необходима. У Оберона всё это есть. У основных реализаций Оберона не совсем инкрементная компиляция - просто пересобирается весь модуль целиком, но не импортируемые им модули. Поэтому, а также из-за отсутствия лишних стадий трансляции, нужных для оптимизации, это происходит быстро.Цитата: Инкрементная компиляция в Си делается слишком уж страшно - через вызов внешнего компилятора и генерацию разделяемых объектных файлов (ну или по сути городить свой ассемблер внутри программы, тогда это уже не Си). Зачем городить свой ассемблер внутри программы, я не понял. В Blackbox всё тоже сводится к вызову "внешнего" компилятора, но не в основной операционной системе, а в Blackbox, который сделан как приложение, но по подобию операционной системы Оберон. Это гибче и удобней, но не настолько, чтобы это было радикальным преимуществом.Цитата: Плюс очень медленная компиляция в Си Си имеет то преимущество перед С++, что он относительно простой, поэтому для него есть Tiny C Compiler, который транслирует в 10 раз быстрей, чем gcc без опций оптимизации. Т.е. всё неплохо. Также, tcc можно использовать как библиотеку, но лицензия Вам, наверное, не понравится.Цитата: LLVM - это очень монструозный проект. Я один раз пытался CLANG собрать и это не удалось Clang и LLVM - это разные проекты, которые можно использовать по отдельности. Более того, Вам не нужно собирать его для того, чтобы использовать.Цитата: Я люблю, когда быстро собирается. Минут 5-10 - это самый максимум, а лучше - не более минуты двух. Лисп это позволяет, Оберон, видимо, тоже. Си - нет. Оберон можно собирать быстрей, чем Си в силу дизайна языков, тем не менее tcc обеспечивает приличную скорость.
|
Автор: | budden [ 20 янв 2018, 17:10 ] |
Заголовок сообщения: | Re: Бенчмарки |
Спасибо за дальнейший ликбез! tcc мне не подойдёт по лицензии. > У основных реализаций Оберона не совсем инкрементная компиляция - просто пересобирается весь модуль целиком Меня это устраивает. > Зачем городить свой ассемблер внутри программы, я не понял Я вот сейчас в BB скомпилировал какой-то пример - модули компилятора подгрузились в память. Разве тут ассмеблер не находится в памяти процесса blackbox.exe ? > Но выглядит всё неплохо именно для транслятора Оберона в Си, который собирается в режиме максимальной, длительной по времени оптимизации. А где там собственно Оберон без Си? В маленьком-то тесте простой Оберон? Получается в ~5 раз медленнее Си - приемлемо. > Компилятор BlackBox никто не будет существенно переделывать, он по дизайну не предназначен для значительных оптимизаций. Думается, что при достаточных ресурсах можно сделать. Язык-то маленький, по сравнению с лиспом. Но и без этого 1/5 от Си - это нормально. Вон Питон со своим 1/100 от Си как прёт. |
Страница 1 из 4 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |