Size: a a a

Programming Offtop

2020 October 01

(

( in Programming Offtop
источник

ch

central hardware in Programming Offtop
Andrew Mikhaylov
Официально они себя VM не называют, но интерпретатор LLVM IR сть)
GraalVM это общее название которые включает в себя много всего
источник

AM

Andrew Mikhaylov in Programming Offtop
Vladimir Petrakovich
Судя по названию - наверное, но я хз, как он устроен.
А Flutter - это фреймворк 🌚
Ну я к тому, что флаттер с тулингом в дебаге собирается под VM, а вот в релизе — в нативный код. Но не без промежуточных шагов.
источник

AK

Anton Korotkikh in Programming Offtop
вот так
https://github.com/golang/go/blob/master/src/runtime/proc.go

горутины и их шедулер - это гошный код, гипотетически он мог относительно спокойно быть в отдельной либе.
источник

AM

Andrew Mikhaylov in Programming Offtop
central hardware
GraalVM это общее название которые включает в себя много всего
Я о получаемых бинарях.
источник

VP

Vladimir Petrakovich in Programming Offtop
Andrew Mikhaylov
Ну я к тому, что флаттер с тулингом в дебаге собирается под VM, а вот в релизе — в нативный код. Но не без промежуточных шагов.
Ну допустим. Но в чём вопрос тогда?)
источник

AM

Andrew Mikhaylov in Programming Offtop
Vladimir Petrakovich
Ну допустим. Но в чём вопрос тогда?)
Вопрос в том, насколько вот этого достаточно для того, чтобы определить, где есть VM:
> Ну VM вроде бы не такое уж размытое - на входе принимает ненативный байткод. Всё.
источник

A

Aleksandr Khristenko in Programming Offtop
Anton Korotkikh
вот так
https://github.com/golang/go/blob/master/src/runtime/proc.go

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

AM

Andrew Mikhaylov in Programming Offtop
Aleksandr Khristenko
Ну я слабо представляю, как вытесняющую многозадачность сделать в виде либы.
А в голанге многозадачность вытесняющая? Мне казалось, кооперативная, так как горутины приостанавливаются только в конкретных точках.
источник

A

Aleksandr Khristenko in Programming Offtop
Andrew Mikhaylov
А в голанге многозадачность вытесняющая? Мне казалось, кооперативная, так как горутины приостанавливаются только в конкретных точках.
Goroutines are now asynchronously preemptible. - цитата из релиза golang 1.14
источник

AM

Andrew Mikhaylov in Programming Offtop
Ух ты
источник

VP

Vladimir Petrakovich in Programming Offtop
Andrew Mikhaylov
Вопрос в том, насколько вот этого достаточно для того, чтобы определить, где есть VM:
> Ну VM вроде бы не такое уж размытое - на входе принимает ненативный байткод. Всё.
Мне кажется, достаточно. Если в бинарнике машинный код - VM, вероятно, не используется. Если нет - то используется.
Если этот код компилируется в машинный на старте (в рантайме) - это всё равно VM. Нам не важно, что там внутри, главное то, что программа до момента запуска написана в промежуточном коде, который может исполнять только виртуальная машина, но не железный проц.
источник

AK

Anton Korotkikh in Programming Offtop
Aleksandr Khristenko
Ну я слабо представляю, как вытесняющую многозадачность сделать в виде либы.
во-первых она там кооперативная. во-вторых, в других рантаймах где нет грин тредов это делают либами, та же жвм, например pulsar вытесняющий
источник

AM

Andrew Mikhaylov in Programming Offtop
Vladimir Petrakovich
Мне кажется, достаточно. Если в бинарнике машинный код - VM, вероятно, не используется. Если нет - то используется.
Если этот код компилируется в машинный на старте (в рантайме) - это всё равно VM. Нам не важно, что там внутри, главное то, что программа до момента запуска написана в промежуточном коде, который может исполнять только виртуальная машина, но не железный проц.
> до момента запуска
Хорошо, с этой оговоркой я успокоюсь)
источник

AM

Andrew Mikhaylov in Programming Offtop
Хотяяяяя
источник

AM

Andrew Mikhaylov in Programming Offtop
Это может выглядеть как встроенный в бинарь компилятор, не VM. :)
источник

VP

Vladimir Petrakovich in Programming Offtop
Вот взять джаву: там есть VM?
источник

A

Aleksandr Khristenko in Programming Offtop
Anton Korotkikh
во-первых она там кооперативная. во-вторых, в других рантаймах где нет грин тредов это делают либами, та же жвм, например pulsar вытесняющий
Так кому верить - им, что вытесняющая или тебе что кооперативная?
источник

AM

Andrew Mikhaylov in Programming Offtop
Ну я ж потому о граале и заикнулся.
источник

A

Aleksandr Khristenko in Programming Offtop
Anton Korotkikh
во-первых она там кооперативная. во-вторых, в других рантаймах где нет грин тредов это делают либами, та же жвм, например pulsar вытесняющий
Как делать кооперативную с явным указанием точек переключения в виде либ я представляю.
А вот как делать вытесняющую в виде либы - нет.
источник