GGLucas - Thanks for the head's up! Cannot wait! Had a bad feeling the project just died.
Would you have any examples to back that up? Not that I doubt you, but I would very much like to see what performance bottlenecks people are experiencing so I can look into them, and make improvements.
Objectively I have only seen benchmarks by others and some of them are old (like this). I personally haven't tried making an apple to apple comparison as that would involve writing equal functions in several scripting languages. And I don't want to write them in Lua or something similar, because I hate it's syntax (that is the reason why I'm here happily using AS ). But I guess I will try to do some benchmarks with some languages if that can improve AS performance down the line.
But I did test JIT compilation about a year back and I must say I saw a great increase in speed. A simple loop in AS is about 10x slower than native O3 C++, but only about 3x slower in JIT (I did a loop with 20k iterations calling a C++ function in each one). I don't know about optimizations AS compiler does for things like loops, but maybe even loop unrolling could be of benefit.
I have looked into GCCJIT and similar (i.e. Clang related) projects as well that allows JIT compiling using already mature compilation frameworks. So if we had AS JIT just an implementation using gccjit then optimization wise a lot of things would get simpler. Sadly none of those JIT compilers are complete and are only partly maintained. So while it is worth checking out, I don't think it's worth investing now.
I cannot argue against that. I'm certain it would be beneficial, the only problem with that is a time constraint I have. I really cannot assume more work. I only work on AngelScript on my spare time, and between my family and job this time is quite limited. I have to chose well what I can do on what little time I do have. I'm already only able to work on a small fraction of all the ideas I have for AngelScript as it is.
The amount of contributors is sadly not large either. I am in a project like that now too, where it is actually very promising and I will personally use it till I die, but it is hard to get others who are competent enough to help and willing enough to do so. As I use AS more and more and I am hoping to help later on with development too. But then you will have to switch to Git. I honestly think that would also help with getting more contributors.
It would be a whole different matter if I could somehow make a living working on AngelScript, but that is not the case.
Sadly all I can do is donate the money I can spare. Maybe a bit more popularity to AS is required, before more people start using it. AS is quite old already, but for some reason it didn't catch on as some other languages did.
The dynamic modules API sounds great. I have been thinking about doing something similar but was waiting for the new APIs to avoid deprecation issues - but now I am kind of stuck with 2.29 because of the dependency on the JIT. I have also looked at integrating libffi at some point to dynamically load native libraries from Angelscript. Again, feel free to share with the community :-)
This is also something I have been pondering about, because I want AS to be used as an extension system as well, not just a scripting language. So I am thinking on how to allow loading and calling dynamic libraries (like dll's on windows) purely from AS. Has anyone tried it? In C++ I would need to use GetProcAddress which involves pointers which we cannot have in AS. In C# it is easier, but doesn't apply here. So is a there a way to load a .dll and call a function from it purely via script?