4 ms·
Well, this kinda thing isn't free. You need a rather large and complicated runtime to make it work. Fine for the JVM, which is already a large and complicated r
by pkulak 5y ago
Well, this kinda thing isn't free. You need a rather large and complicated runtime to make it work. Fine for the JVM, which is already a large and complicated runtime, but it turns out that making a runtime like this optional is not really possible. So languages that don't have a runtime are stuck with async/await, which can be zero-cost.
And, to be fair, languages like Erlang and Go went this route LONG ago.
- SemanticStrengh 5y agoExcept GraalVM bring support to almost any language
- thfuran 5y agoThat's some hefty sleight of hand.
- Comevius 5y agoGarbage collectors and preemptively scheduled virtual threads require a runtime. Even GraalVM Native Image has a large runtime for this reason. There is no free lunch here.
- SemanticStrengh 5y agoI'm just saying the cost of developing the runtime can now easily be mutualized between multiple languages
- pjmlp 5y agoAll high level languages have a runtime, the only difference among them is how big it is in practice. Even Assembly can be considered to have one, in case of microcoded CPUs.
- deleted 5y ago[deleted]
- moonchild 5y ago> languages like Erlang and Go went this route LONG ago So did java! It originally used green threads, before switching to exclusively kernel threads.