2. Java and C# JITs perform many more optimizations than Go 6g/8g do.
3. Objective-C message passing is a lot slower than method calls in Java and C#.
I think it's due to LuaJIT being one of the very few tracing JITs that are still in development, since they are notoriously difficult to write and maintain.
If I care about performance I'd check the generated assembly and modify accordingly till I get decent result.
Baring that: do you have any reputable source claiming LuaJIT outperforms C#/java/C?
That would imply a horrid baseline in order to get it that fast. Merely I don't believe a tracing JIT would have a great impact in a real world scenario.
PHP with its shared nothing design makes it very scalable, the 2016 implementations are very fast and consume little memory. LuaJIT see other post. Object-C (there is C underneath, read https://en.wikipedia.org/wiki/Object-C ). Check out Julia, it's great. You can write pretty low level code in modern languages like Go, Rust without loosing everything (don't come with Sing# and Java related misc things, yada yada). Also my point was that these languages consume less memory. I have yet to see a Java or dotNet application that doesn't consume too much memory for my feeling (not to mention the GC idioms). When I read that people put monolithic Java enterprise apps in Docker containers or wonder why the new Startmenu crashes that often, it reminds me why I care about computer resources. After all we are still stuck with 3.8GHz single core performance, same as 2004! (memory bandwith,etc got faster, I know) Give me a 10 GHz single core CPU and we can start talking.
Most of the RAM of my application is used by the app and the goddamn UI and its fancy xxxhdpi and xxhdpi and xhpdi and hpdi and mdpi images, and because Android doesn’t support svg everywhere yet, we have to package tons of ressource twice and thrice and five times.
In the Windows world especially that's not even slightly true.
Run "Process Explorer", Options -> Color Selection -> check ".Net Processes" (Yellow).
In all consumer Windows up to Windows 7 no dotNet processes run (by default) at all. [Longhorn was meant to bring a dotNet shell (explorer, etc) but failed big time.] I have lots of common applications and all are coded in C/C++ with the exception of IDEs (VS/Eclipse/IDEA) which eat memory like no tomorrow. I couldn't care less about the brave Win8/10 world.
Still supports C++ ;)
So XP and Vista then.
Most of the software that comes pre-installed on Windows machines (by the OEM) is .NET. That fact by itself means the amount of software written in .NET is far far far above 1%.
> In Windows world you are very wrong.
So you're saying after the shedloads of money, effort and development Microsoft has pumped into .NET it hasn't even amounted to 1% of applications running it? That's preposterous.
DotNet and Java are very big in enterprise software and server software. Java is also big in open source thanks to Apache foundation (if you need a full text search engine, Lucene is still the only feature complete in town; and all the projects based around Lucene like Hadoop, Solr, etc) There was an C++ port of Lucene (CLucene) that was a lot faster and used little memory and compatible with Lucene file format. Though no native fork of Lucene keep up with the development speed of Apache Java Lucene.
All non-technical people, so 90% of users. I get where you're coming from (and you have valid points about speed/memory usage) but to say <1% of software on Windows is .NET is frankly wrong. Sure it's not 100% and might not even be 50%, but it's way way way above 1%.