Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 14:51

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Бенчмарки
СообщениеДобавлено: 19 янв 2018, 23:20 
Не в сети

Сообщения: 350
Добрый день! Мы с кем-то из вас явно уже встречались в теме "вопросы от лиспера" на Oberon Core. Захожу на второй круг рассмотрения Оберона. Интересуют бенчмарки Оберона. Например, из широко известного (но не всегда объективного) "Computer benchmark game".


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 19 янв 2018, 23:52 
Не в сети

Сообщения: 146
Здравствуйте. Раньше на "Computer benchmark game" был в сравнении транслятор Оберона, по-моему, ОО2С или другой транслятор в Си. Когда транслятор удалили из репозитория Debian, то он исчез и из сравнения.

Немного benchmark'ов можно найти на форуме oberspace:
Простейший тест на производительность.
Расширенный тест на производительность.

В целом, это не самое любимое развлечение программистов, использующих Oberon.

Если Вас интересует производительность, почему не хотите в качестве выходного языка использовать Си или LLVM? Зачем Oberon?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 01:37 
Не в сети

Сообщения: 350
https://github.com/valexey/bigbench - можете разъяснить, где здесь языки? Или это всё Оберон?

По https://github.com/valexey/bubble_test производительность выглядит приемлемой для языка, который не слишком популярен - понятно, что его сообщество не может себе позволить потратить много сил на оптимизацию.

Производительность не является для меня основным приоритетом. Она должна быть более-менее приличной. Если в 0.3х от Си укладывается, то нормально. Здесь чуть хуже, но для начала сойдёт.


Последний раз редактировалось budden 20 янв 2018, 01:42, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 01:38 
Не в сети

Сообщения: 350
А вы не помните, в каком году его выкинули? Может быть, можно в веб-архиве посмотреть. Всё же там много тестов, и это более надёжно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 01:41 
Не в сети

Сообщения: 350
А, понял, где языки. Так вроде всё выглядит неплохо.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 01:45 
Не в сети

Сообщения: 350
Для меня, как вы, возможно, помните, необходима инкрементная компиляция, да и сборка мусора, в принципе, тоже необходима. У Оберона всё это есть. Инкрементная компиляция в Си делается слишком уж страшно - через вызов внешнего компилятора и генерацию разделяемых объектных файлов (ну или по сути городить свой ассемблер внутри программы, тогда это уже не Си).

Плюс очень медленная компиляция в Си. Т.е. вообще всё плохо. LLVM - это очень монструозный проект. Я один раз пытался CLANG собрать и это не удалось, причём он сначала очень долго мне простыню крутил. Я люблю, когда быстро собирается. Минут 5-10 - это самый максимум, а лучше - не более минуты двух. Лисп это позволяет, Оберон, видимо, тоже. Си - нет.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 14:15 
Не в сети

Сообщения: 146
budden писал(а):
По https://github.com/valexey/bubble_test производительность выглядит приемлемой для языка, который не слишком популярен - понятно, что его сообщество не может себе позволить потратить много сил на оптимизацию
Вообще-то Алексей пробовал Ocaml, предполагая его использовать для практических целей, и не дожидаясь от сообщества Ocaml бенчмарков, написал свой. Оберон там оказался лишь забавы ради, чтобы 2-а раза не вставать.

Цитата:
Производительность не является для меня основным приоритетом. Она должна быть более-менее приличной. Если в 0.3х от Си укладывается, то нормально. Здесь чуть хуже, но для начала сойдёт.
Что означает "для начала сойдёт"? Потом-то она не улучшится. Компилятор BlackBox никто не будет существенно переделывать, он по дизайну не предназначен для значительных оптимизаций.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 14:17 
Не в сети

Сообщения: 146
budden писал(а):
А, понял, где языки. Так вроде всё выглядит неплохо.

Но выглядит всё неплохо именно для транслятора Оберона в Си, который собирается в режиме максимальной, длительной по времени оптимизации.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 14:53 
Не в сети

Сообщения: 146
budden писал(а):
Для меня, как вы, возможно, помните, необходима инкрементная компиляция, да и сборка мусора, в принципе, тоже необходима. У Оберона всё это есть.
У основных реализаций Оберона не совсем инкрементная компиляция - просто пересобирается весь модуль целиком, но не импортируемые им модули. Поэтому, а также из-за отсутствия лишних стадий трансляции, нужных для оптимизации, это происходит быстро.
Цитата:
Инкрементная компиляция в Си делается слишком уж страшно - через вызов внешнего компилятора и генерацию разделяемых объектных файлов (ну или по сути городить свой ассемблер внутри программы, тогда это уже не Си).
Зачем городить свой ассемблер внутри программы, я не понял. В Blackbox всё тоже сводится к вызову "внешнего" компилятора, но не в основной операционной системе, а в Blackbox, который сделан как приложение, но по подобию операционной системы Оберон. Это гибче и удобней, но не настолько, чтобы это было радикальным преимуществом.
Цитата:
Плюс очень медленная компиляция в Си
Си имеет то преимущество перед С++, что он относительно простой, поэтому для него есть Tiny C Compiler, который транслирует в 10 раз быстрей, чем gcc без опций оптимизации. Т.е. всё неплохо. Также, tcc можно использовать как библиотеку, но лицензия Вам, наверное, не понравится.
Цитата:
LLVM - это очень монструозный проект. Я один раз пытался CLANG собрать и это не удалось
Clang и LLVM - это разные проекты, которые можно использовать по отдельности. Более того, Вам не нужно собирать его для того, чтобы использовать.
Цитата:
Я люблю, когда быстро собирается. Минут 5-10 - это самый максимум, а лучше - не более минуты двух. Лисп это позволяет, Оберон, видимо, тоже. Си - нет.
Оберон можно собирать быстрей, чем Си в силу дизайна языков, тем не менее tcc обеспечивает приличную скорость.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Бенчмарки
СообщениеДобавлено: 20 янв 2018, 17:10 
Не в сети

Сообщения: 350
Спасибо за дальнейший ликбез!

tcc мне не подойдёт по лицензии.

> У основных реализаций Оберона не совсем инкрементная компиляция - просто пересобирается весь модуль целиком

Меня это устраивает.

> Зачем городить свой ассемблер внутри программы, я не понял

Я вот сейчас в BB скомпилировал какой-то пример - модули компилятора подгрузились в память. Разве тут ассмеблер не находится в памяти процесса blackbox.exe ?

> Но выглядит всё неплохо именно для транслятора Оберона в Си, который собирается в режиме максимальной, длительной по времени оптимизации.

А где там собственно Оберон без Си? В маленьком-то тесте простой Оберон? Получается в ~5 раз медленнее Си - приемлемо.

> Компилятор BlackBox никто не будет существенно переделывать, он по дизайну не предназначен для значительных оптимизаций.

Думается, что при достаточных ресурсах можно сделать. Язык-то маленький, по сравнению с лиспом. Но и без этого 1/5 от Си - это нормально. Вон Питон со своим 1/100 от Си как прёт.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club