4 ms·
So this JIT supports everything but HiPE and will be included in OTP-24 and is production ready(???) and dramatically improves performance across almost everyth
by andy_ppp 6y ago
So this JIT supports everything but HiPE and will be included in OTP-24 and is production ready(???) and dramatically improves performance across almost everything? Seems too good to be true. What has been the bug finding process so far in this PR?
- hinkley 6y agoProbably a case of the low hanging fruit. With most projects you start off with a bunch of improvements with very few side effects - at present - but quickly start to encounter trade offs. Both in the form of new improvements introducing more development overhead, and the fact that open ended things are generally hard to make fast. To make something faster may mean calcifying some part of the architecture; this code handles every scenario that the design defines now, but it can’t handle other scenarios we might have wanted to consider later. Those are now harder to implement or counter to our assumptions. People don’t like it when you take back things you previously gave them, meaning no new feature or a huge opportunity cost for that feature (because it’s reimplementing other features as well as adding a new one).
- andy_ppp 6y agoI don’t think this is at all true... I mean the PR changes 350-odd files and adds some crazy JIT engine. It’s hardly low hanging fruit... I don’t know enough about how this is implemented to say it will make future features harder, they even state in the PR maintenance is very important to the design here so I’ll assume it won’t be a weight around their necks.
- strmpnk 6y agoThis is far from the first JIT effort for BEAM. I'm sure the authors have rolled many years of learnings and experience into this one. Still, you make a good point, it will need a lot of testing by the community before I'd trust it in production.