Specifically a single fibonacci example is not a good performance indicator by any means.
For instance let's assume V8 is faster in average at running this kind of nanobenchmarks (probably at least for now it is), but how much does it cost to convert non trivial data structures from Lisp to JS and back in a real case?
I expect there will be a lot of back and forward if the system if JS and Lisp get mixed and have to cooperate.
How much does it cost to go through foreign functions calls?
This are just initial thoughts that are not accounted at all here.
The real trouble of using Emacs C core from another language is that you have to use all the internal datastructures used by C core, and this exactly equivalent to all elisp datastructures.
This implies you have either to convert back and forward everything or you just can't use the native datastructures of the new programming language (making the whole operation often quite pointless).
I must confess that most of the comments in this thread seems to start from the assumption that people working on this in the last two+ decades are probably dumb, and this is sad.
Specifically a single fibonacci example is not a good performance indicator by any means.
For instance let's assume V8 is faster in average at running this kind of nanobenchmarks (probably at least for now it is), but how much does it cost to convert non trivial data structures from Lisp to JS and back in a real case?
I expect there will be a lot of back and forward if the system if JS and Lisp get mixed and have to cooperate.
How much does it cost to go through foreign functions calls?
This are just initial thoughts that are not accounted at all here.
And even benchmarking nano-benchmarks can be surprisingly tricky ;) :) https://github.com/emacs-ng/emacs-ng/issues/187#issuecomment...