4 ms·
Very interesting and thanks for doing this! This is exactly what I need for a special case in an environment where changing page tables is not allowed. Static e
by fwsgonzo 5y ago
Very interesting and thanks for doing this! This is exactly what I need for a special case in an environment where changing page tables is not allowed. Static executables with AOT optimized code is preferred, for performance reasons. Thanks for doing this!
Is there a way to interface with the C API from JavaScript now? I am very familiar with QuickJS already so I know that providing functionality is very easy already, but I was wondering since you compile to machine code if it would make sense to allow doing it the other way too?
Another peculiar thing on my wishlist is the ability to have a leaky GC. That is, a GC that doesn't do anything at all. In my special environment there's a phase where the whole environment is run at the highest performance possible and then immediately dropped. What actually happens is the env is reset to an "initialized" state after processing ends.
Also, does it support Linux? I think that it does because many consoles are "based" on that these days, although perhaps that is abstracted away.
- gavinray 5y agoI'm also curious about C API access from JS. One thing I was hopeful about when I first read of Deno was ability to interop with native code by making FFI/bindings available in Rust, and then package to a native binary. That didn't pan out, and I don't blame them, but I'm still hoping to be able to write native executables/shared libs in TypeScript and use C FFI.
- reilly3000 5y agoThis is way outside the realm of my expertise, but I’m curious how a FFI would be better than just calling child_process.exec for accessing a C binary. I suppose that may not be efficient inside of a game loop, but I don’t understand why, so long as it was done within a promise.
- MaxBarraclough 5y agoInter-process communication is much, much slower than a native function-call. (Native function calls are almost free, especially on modern CPUs which are very good at dealing with them.) Spinning up a whole new process is vastly slower still, taking (iirc) hundreds of thousands of instructions. > so long as it was done within a promise. I don't see how it would help things to wrap it up with concurrency abstractions. That won't make the cost go away.