8 ms·
> Interpreters, which read the program line by line as it runs Byte code interpreters do that? That would be surprising. Programs are represented with 'lines'
by lispm 7y ago
> Interpreters, which read the program line by line as it runs
Byte code interpreters do that? That would be surprising. Programs are represented with 'lines' in byte code?
Things he wants, let's look at SBCL, a Common Lisp implementation (see http://sbcl.org http://sbcl.org ):
> compile short bits to native code quickly at runtime -> that's done by default
> identify whether a section is getting optimized -> we tell the compiler and the compiler gives us feedback on the optimizations performed or missed
> know anything about the native code that’s being run in a benchmark -> we can disassemble it, some information can be asked
> statically require that a given section can & does get optimized -> done via declarations and compilation qualities
> compile likely sections in advance to skip warmup -> by default
> bonus: ship binaries with fully-compiled programs -> dump the data (which includes the compiled code) to an executable
- smabie 7y ago>Byte code interpreters do that? That would be surprising. Programs are represented with 'lines' in byte code? kdb+/q has a bytecode compiler and each line is turned into bytecode and run, line by line. Also the performance is as good as C, most of the time.
- eatonphil 7y agoYes, I thought of SBCL when I was reading this too. A JS frontend for SBCL could be nice...
- pjmlp 7y agoOr at very least improve browser developer tools to give us what Lisp compilers have been doing the last half century. Why should we need to hand compile special versions of JavaScript VMs, just to get (decompile ....)?