Cell to C++ compiler version 0.7
It took a while, but the Cell to C++ compiler/code generator is now available. One of the reasons it took so long was that this new code generator was designed from the beginning with performance in mind, wereas with the previous versions, even though the generated code was already pretty fast, my primary goal was just to get things to work, and performance was more of an afterthough.
Focusing on performance meant that I had to throw away a large amount of code I had already written and start from scratch. That's still a work in progress, as optimizing relational code requires handling a large number of special cases, but the results are already really good, as you can see in the relational benchmarks.
This version is still a beta, and actually it might be less stable than the previous one, in spite of all the bug fixes that went into it, as there's a lot of new code, and the new implementation is significantly more complex.
I'll soon do a deep dive into the details of the implementation in a series of blog posts, where I'll be explaining the pros and cons in terms of performance of functional relational programming compared to more conventional paradigms like OOP.