Size: a a a

2020 December 28

AT

Alexander Tchitchigi... in fprog_spb
Как максимум — медленный. Особенно в многопотоке и без оптимизаций.
источник

AI

Andrey Ivanov in fprog_spb
ну и раз тут последне время модно почтить комиксы Чепляки - прям в тему https://ro-che.info/ccc/images/language.png
источник

MK

Mikhail Kuzmin in fprog_spb
Давайте я проблематику/вопрос более точно сформулирую.
Я писал на C в универы лабы лет 10 назад. Т.е. опыта у меня нет.

У нас делают процессоры Эльбрус, которые VLIW. И которые, судя по всему, плохо работают с виртуальными машинами by design.
Я не тестировал его и ничего не запускал на нем, это гипотеза.
Но у него есть оптимизирующий компилятор из C/C++

Наверно, тут кто-нибудь захочет повернуть вопрос в политическую плоскость, давайте оставим это за скобками.

И я подумал, а можно ли завести на Эльбрусе какой-нибудь динамический язык с repl, a-la clojure.
Та же clojure не интерпретируется, а компилирутеся в jvm classfiles.
Какие проблемы будут с подобным подходом, но на C, если компилировать в so файлы и динамически их загружать.

Как минимум, я уже много чего узнал из C мира, например dlfcn и setjmp/longjmp, GC.
источник

AI

Andrey Ivanov in fprog_spb
ну так это не эвривэре, это на Эльбрусе. вполне даже можно, более того - поддерживаю и плюсую за импортозамещение
источник

AT

Alexander Tchitchigi... in fprog_spb
Mikhail Kuzmin
Давайте я проблематику/вопрос более точно сформулирую.
Я писал на C в универы лабы лет 10 назад. Т.е. опыта у меня нет.

У нас делают процессоры Эльбрус, которые VLIW. И которые, судя по всему, плохо работают с виртуальными машинами by design.
Я не тестировал его и ничего не запускал на нем, это гипотеза.
Но у него есть оптимизирующий компилятор из C/C++

Наверно, тут кто-нибудь захочет повернуть вопрос в политическую плоскость, давайте оставим это за скобками.

И я подумал, а можно ли завести на Эльбрусе какой-нибудь динамический язык с repl, a-la clojure.
Та же clojure не интерпретируется, а компилирутеся в jvm classfiles.
Какие проблемы будут с подобным подходом, но на C, если компилировать в so файлы и динамически их загружать.

Как минимум, я уже много чего узнал из C мира, например dlfcn и setjmp/longjmp, GC.
Вы что, серьёзно считаете, что если медленную программу (интерпретатор) переписать на C, то компилятор волшебным образом её оптимизирует и она станет невероятно быстрой? 😃
источник

AT

Alexander Tchitchigi... in fprog_spb
Рекомендую почитать про processor pipeline, branch (mis)prediction, memory cacheces and cache misses и что же в конце концов такое VLIW и как он работает.
источник

AT

Alexander Tchitchigi... in fprog_spb
За одно узнаете, что делает программы медленными и быстрыми.
источник

MK

Mikhail Kuzmin in fprog_spb
Alexander Tchitchigin
Вы что, серьёзно считаете, что если медленную программу (интерпретатор) переписать на C, то компилятор волшебным образом её оптимизирует и она станет невероятно быстрой? 😃
Если алгоритм написать на C и откомпилировать в машинный код оптимизирующим компилятором. А не писать алгоритм на ruby и выполнять его на виртуальной машине, пусть и собранной оптимизирующим компилятором.
источник

AT

Alexander Tchitchigi... in fprog_spb
Mikhail Kuzmin
Если алгоритм написать на C и откомпилировать в машинный код оптимизирующим компилятором. А не писать алгоритм на ruby и выполнять его на виртуальной машине, пусть и собранной оптимизирующим компилятором.
Какой алгоритм? 😉
источник

AI

Andrey Ivanov in fprog_spb
так ты же алгоритм не на си писать хочешь, а на своем динамическом
источник

MK

Mikhail Kuzmin in fprog_spb
Alexander Tchitchigin
Рекомендую почитать про processor pipeline, branch (mis)prediction, memory cacheces and cache misses и что же в конце концов такое VLIW и как он работает.
Я в общих чертах представляю это.

Т.е. вы считаете, что для vliw можно сделать быструю java?
источник

MK

Mikhail Kuzmin in fprog_spb
алгоритм - web приложение.
источник

AI

Andrey Ivanov in fprog_spb
что-то я теряю нить ) вроде о языке говорили )
источник

AT

Alexander Tchitchigi... in fprog_spb
Mikhail Kuzmin
алгоритм - web приложение.
Простите, Вы в каком ВУЗе, говорите, учились? На какой специальности? Почему Вам даже понятия алгоритм не рассказывали?
источник

MK

Mikhail Kuzmin in fprog_spb
давайте от темы не отходить, а то начинается переход на личности и градус токсичности растет
источник

AI

Andrey Ivanov in fprog_spb
ну не придирайтесь, просто человек вольно использует термины
источник

AT

Alexander Tchitchigi... in fprog_spb
Mikhail Kuzmin
Я в общих чертах представляю это.

Т.е. вы считаете, что для vliw можно сделать быструю java?
В точности наоборот: "быструю Java" (JVM) для VLIW архитектуры сделать нельзя в принципе. 🤷‍♀️
источник

AI

Andrey Ivanov in fprog_spb
короче - пиши лисп под Эльбрус, я поддерживаю!
источник

AT

Alexander Tchitchigi... in fprog_spb
Mikhail Kuzmin
давайте от темы не отходить, а то начинается переход на личности и градус токсичности растет
А какие темы можно обсуждать, если Вы не знаете и не понимаете, что такое "алгоритм", и почему "Web-приложение" (снова — какое именно приложение?) — не алгоритм?
источник

AI

Andrey Ivanov in fprog_spb
но советую начать с интерпретируемой версии
источник