Mea culpa -- I'd forgotten about Max's excellent post!
chc4
This is great! I've been following along with yk's development for a few years now, after stumbling across it while working on my own (bad, shelved) meta-JIT library. Meta-JITs are extremely cool and it's really encouraging that yk is able to actually get sizable speedups in practice. Between this and weval it feels like the dream of HP Dynamo and other attempts at "just distill a faster program" are being revived a bit.
injuly
Great read! This is very clever.
Since video games have very tight performance constraints, many game engines are stuck with Lua 5.1 (the one that LuaJIT supports).
Something like this can be super useful for game engines and applications wanting higher performance out of embedded scripting languages.
heavyrain266
JIT in games makes sense only in debug builds, they’re banned on most platforms (consoles and Apple ecosystem) due to security concerns.
jmtd
I would have thought one problem with JITs in games is unpredictable performance
fanf
I know of a couple of other reverse register allocators:
Mea culpa -- I'd forgotten about Max's excellent post!
chc4
This is great! I've been following along with yk's development for a few years now, after stumbling across it while working on my own (bad, shelved) meta-JIT library. Meta-JITs are extremely cool and it's really encouraging that yk is able to actually get sizable speedups in practice. Between this and weval it feels like the dream of HP Dynamo and other attempts at "just distill a faster program" are being revived a bit.
Great read! This is very clever.
Since video games have very tight performance constraints, many game engines are stuck with Lua 5.1 (the one that LuaJIT supports).
Something like this can be super useful for game engines and applications wanting higher performance out of embedded scripting languages.
JIT in games makes sense only in debug builds, they’re banned on most platforms (consoles and Apple ecosystem) due to security concerns.
I would have thought one problem with JITs in games is unpredictable performance
I know of a couple of other reverse register allocators:
the solid-state register allocator
A new register allocator for Rust's Cranelift backend – the algorithm is described in the preceding “regalloc II” post
Mea culpa -- I'd forgotten about Max's excellent post!
This is great! I've been following along with yk's development for a few years now, after stumbling across it while working on my own (bad, shelved) meta-JIT library. Meta-JITs are extremely cool and it's really encouraging that yk is able to actually get sizable speedups in practice. Between this and weval it feels like the dream of HP Dynamo and other attempts at "just distill a faster program" are being revived a bit.
Great read! This is very clever.
Since video games have very tight performance constraints, many game engines are stuck with Lua 5.1 (the one that LuaJIT supports).
Something like this can be super useful for game engines and applications wanting higher performance out of embedded scripting languages.
JIT in games makes sense only in debug builds, they’re banned on most platforms (consoles and Apple ecosystem) due to security concerns.
I would have thought one problem with JITs in games is unpredictable performance
I know of a couple of other reverse register allocators:
the solid-state register allocator
A new register allocator for Rust's Cranelift backend – the algorithm is described in the preceding “regalloc II” post
Mea culpa -- I'd forgotten about Max's excellent post!
This is great! I've been following along with yk's development for a few years now, after stumbling across it while working on my own (bad, shelved) meta-JIT library. Meta-JITs are extremely cool and it's really encouraging that yk is able to actually get sizable speedups in practice. Between this and weval it feels like the dream of HP Dynamo and other attempts at "just distill a faster program" are being revived a bit.