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
Speed up the interpreter. fib(39) takes around 26 seconds on my machine. This is in comparison to, say, lua on the same machine taking ~6 seconds.
Details
The interpreter loop is currently a large switch statement. One problem is this switch statement ends up with a single jmp instruction which won't be great for the branch predictor
In the same issue haberman suggests using a tail-call interpreter which I'm experimenting with in Tail call interpreter dispatch + unified stack #118 (which also unifies the stack...I have another branch that doesn't unify the branch and I'd like to complete both so I can compare them against one another). With the tail call interpreter I'm also experimenting with which parameters to include in the call as we'll get speed up if certain parameters can just remain in registers / avoid register spilling
Goal
Details
jmp
instruction which won't be great for the branch predictorjmp
shaberman
suggests using a tail-call interpreter which I'm experimenting with in Tail call interpreter dispatch + unified stack #118 (which also unifies the stack...I have another branch that doesn't unify the branch and I'd like to complete both so I can compare them against one another). With the tail call interpreter I'm also experimenting with which parameters to include in the call as we'll get speed up if certain parameters can just remain in registers / avoid register spillingReferences
The text was updated successfully, but these errors were encountered: