Overall I agree with your points that Rails is fine for a good range of applications. I mean, it is impossible to deny it. But you seemed to imply that TR, actor libraries and other changes would cause drastic differences and I politely disagree with that. Will Ruby and Rails get better? Sure, most technologies do, but I don’t expect order of magnitude improvements nor the adoption of new programming models that radically widen their applications.
It happens to all frameworks but it doesn’t mean it happens or will happen to the same extent. The Rails community is in particular proud to move fast, both in terms of breaking changes and adding new features. It has pros but it definitely has cons. At my previous job many people dreaded new Rails versions because they knew a large chunk of time would be spent upgrading applications and dependencies rather than working on what matters to the business.
And this brings me back to my original point: the importance of having strong foundations. Phoenix apps boot quickly, test suites run fast and its channel implementation scales horizontally and vertically with an implementation that is a fraction of the Rails one. When you look at the Phoenix codebase, Phoenix isn’t doing anything special to get those properties… it is just leveraging the platform. There are less moving parts and that in itself will most likely result in less churn in Phoenix applications as they age.
It is misleading to keep on painting performance as the number of requests per second or the latency in production. If you need those numbers, good for you. But It goes way beyond that. It directly impacts the quality of the system in the short and long term.