The same advantages as any run-time scripting, I guess, like being able to test code changes without recompilation and domain reloading, mod support, and the possibility for hot reloading, but with a focus on SIMD/vectorization.
Unreal’s Niagara particle system work somewhat like this too: CPU particle systems are actually script bytecode running on a SIMD-based VM.
Unfortunately the author did not update the package for quite a while, and did not follow up the roadmap that’s outlined on the Asset Store page. So I have an impression that while BLAST is already quite usable – the demos work fine, it now has only a fraction of its full capacity.
There are issues in the BLAST Github repo, and they have funding goals, so probably it’s now in that goal-oriented paymode, rather than having a price tag on the asset itself.
I wish the author created a Discord server so that we could form some community and maybe see into funding the goals.
as apparently BLAST is meant to be like, super fast for integer/float calculations (in tens of nanoseconds range) right?
how does such compare to modern JIT’s such as LuaJIT ( still the fastest JIT ? ), C#, Java, ect
and modern C/C++ compilers such as LLVM 17
(given, embedding a C++ compiler and having it function as a JIT (eg, transpile to C++, compile to LLVM IR/OBJ, link with running application + execute, all at runtime without recompiling entire application) is a large task)
Control flow instructions: switch, while, for, if then else
External function support, with the interface defined through codegen for ultimate performance
The Unity Mathematics library directly accessible through script
Flexible datasegment mapping, you can move the data and stack pointers to directly work on the data instead of copying it.
Define inputs in script that map to arrays of floats.
Extremely compact bytecode compiled from script in milliseconds. Byte sized instructions, 7bit addressing and smart constant handling result in bytecode that make surprisingly large scripts fit in a single cache line with the resulting performance benifits.
Simple but powerfull compiler that flattens the input script and removes all nesting resulting in a linear execution path with minimal stack use and branching.
Extremely fast execution. “A = Sin(x)” takes only 40ns to interpret, this is 10x faster then a leading jit script compiler. In ssmd mode it can process the same script in 1.5 nanoseconds, 750.000.000 times per second on 1 thread.