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
Looks like the SSA code does a bunch of spilling to the stack where the legacy compiler doesn't. The divide instructions require values in specific registers. Given two subsequent divide instructions, the result of the first needs to be moved somewhere else before the second is issued. SSA uses a stack slot for that, whereas the legacy compiler uses a register.
This will be a bit tricky to fix, but it is possible. 1.8 milestone sounds right.
ALTree
changed the title
cmd/compile: SSA runtime performance regression on 32bit arithmetic
cmd/compile: SSA runtime performance regression on function with multiple idiv instructions
Jun 14, 2016
code:
go1.6 vs tip:
same function with
int64
is also slower, by~5%
.The text was updated successfully, but these errors were encountered: