You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The new Invoker system enables sites to separate dispatch (on types or values) from the actual execution of the call. This will be a very important performance feature for the PorcE backend and potentially even the Token interpreter. Sites should be changed to use the new features. Any site which performs complex dispatch based on the argument types or values could gain from it.
The most obvious sites that would gain from this are the numeric computation sites (Add, Mult, UMinus, etc) since the returned invoker could be specialized to the argument types. In fact, Add is by far the most important of these because it also handles strings.
The text was updated successfully, but these errors were encountered:
I just realized that, probably the most important sites to convert are Ift and Iff (and any other low-level primitive sites) and the Flag sites used in Porc. These sites are used in almost all code even if the code doesn't explicitly reference them (since they are used in pattern matching and other generated elements). In addition they will compile down very efficiently if Truffle can inline them.
For some of these sites it might even be worth providing special PorcE implementations which can be fully partially evaluated.
The new Invoker system enables sites to separate dispatch (on types or values) from the actual execution of the call. This will be a very important performance feature for the PorcE backend and potentially even the Token interpreter. Sites should be changed to use the new features. Any site which performs complex dispatch based on the argument types or values could gain from it.
The most obvious sites that would gain from this are the numeric computation sites (Add, Mult, UMinus, etc) since the returned invoker could be specialized to the argument types. In fact, Add is by far the most important of these because it also handles strings.
The text was updated successfully, but these errors were encountered: