Replies: 1 comment
-
Binarization effectively removes local variables and their opportunities to reduce occurs-check overhead. Otherwise see this comparison of the BinWAM and prior machines. Scryer opted for the WAM. Also there, some similar optimizations could be possible. In particular widening the bottleneck of the PROCEED instruction by extending the lifetime of WAM registers. See my attempt Interprocedural register allocation for the WAM based on source-to-source transformations. Is it worth the added complexity? The benchmarks promise some speedup but not too much. Improving the current machine, removing leaks, fully implementing partial strings are all efforts with much larger benefits. In mentioned paper there are many uses of |
Beta Was this translation helpful? Give feedback.
-
Hey came across this paper talking about a preprocessing optimization called binarization and partial deduction that's apparently at the heart of the BinProlog implementation. Did a search and couldn't find it mentioned in this project so just wanted to put it on the radar.
Is this something that could be, or desirable to be implemented the scryer compiler?
Beta Was this translation helpful? Give feedback.
All reactions