Mika Heinonen's Blog
Counter
479

Easy
Saturday, 23 January 2010 23:22:13 EET

I invented a new programming language called Easy.

It's faster than C++ (theoretically), since it inlines everything.
I see no point programming in C++ without Easy anymore, since the same and better results can be achieved using this new language.

It saves also a lot of time and costs when programming, and it should work also with other languages than C++, if they support variadic macros.

Here's the Easy home page:
http://www.siipi.com/easy

Easy is still in version 0.0.3.0 0.0.7.0, but it will grow fast, as every new program I make will be written in Easy.


Anonymous
1 Wednesday, 24 February 2010 14:12:45 EET
http://www.youtube.com/watch?v=HIRGNzVIz6Y

Brad
2 Wednesday, 23 June 2010 02:17:33 EET
I think you know a lot about a whole lot of subjects.

I came across your site after reading an excellent comment left by you on a blog post about Erlang.
http://damienkatz.net/2008/03/what_sucks_abou.html

Rene Damm
3 Wednesday, 23 June 2010 09:44:25 EET

Inlines everything? You mean code? Actually that's the road to very negatively impact the performance of your code because you will both nil out any gains of the cache as well as that of branch prediction and other techniques that modern CPUs use.

Actually, on modern hardware, *not* inlining is generally faster than inlining. More optimal use of the cache and as long as the jumps are not going through memory indirections, the CPU can easily look ahead through calls and perform the jumps without any disruptions to the CPU instruction pipeline.

Inlining is *only* better if it is combined with other compiler optimizations that allow the inlined code to make use of characteristics specific to each call site.

Mika
4 Thursday, 24 June 2010 05:00:49 EET
Yes, that is correct. I have made measurements also that inlining in C++ leads to slower code than removing all inline instructions.

Modern C++ compilers have very complex and deep optimization routines, so as general advice I would say that tell as less as possible in C++, and let the compiler decide what is the fastest.

However, Easy does not use the C++ inline method, but rather a code duplication inline. I have not measured yet if it's actually faster than C++, but it is possible that it is. In case it turns out that code duplication is slower than calling functions, then Easy can be improved to use function calls instead (without inline statements of course).