Open irmen opened 3 years ago
@irmen if I remember correctly you use stack a lot in prog8.
Yes @zbyti that is necessary because the cpu is extremely register starved, and because of the c like expression trees that you can write in prog8. I have some vague ideas on how to improve that but that will require a total rewrite of the expression code generation....
@zbyti i've been making some progress on reducing the simulated eval-stack in prog8 lately
@irmen Cool, I'll check it out soon. Now I'm in a bit of a rush to release some simple A8 game on https://www.sillyventure.eu/en/ and after that I'll take a thorough look at the new changes.
I've just released Prog8 7.4.1, which results in quite different numbers on the benchmarks that make the graphs quite outdated:
p.s. does still require PR #9 to be applied first because of some syntax changes in the past.
@KarolS are you still maintaining these lists?
Hello, I've just released prog8 6.4 It contains once again various code generation improvements. (mostly added in 6.1) Most notably, the plasma benchmark now runs faster than the optimized cc65 one. Also i've added the linkedlist benchmark that was missing until now.
It would be awesome, if you could update the graphs with the new results? (it does first require some slight changes in the prog8 benchmark programs because of the changes to the language and libraries. The pull request for that is linked below.)
I've now pretty much exhausted the possibilities of easy to moderately complex code generation optimizations in Prog8. Further improvements will require quite a lot of work, I think, something I don't have the time for any time soon.