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
In Go 1.7 I attempted to remove the ptrToThis field from reflect.rtype. It caused regressions, so I brought it back.
However I didn't completely bring it back. We used to include a ptrToThis value for any type where the pointer is used in the final program. Now we only include it for a subset of types (named values with methods).
This means a greater set of types hit a slow path in reflect.New, which slows down packages like the protocol buffer decoder.
A fix is to partially revert CL 20287 and CL 19695.
The text was updated successfully, but these errors were encountered:
CL 33411 by @ianlancetaylor resolves this. I have a partial CL re-introducing weak symbols that I could get going, but I prefer the general approach in 33411.
As I mentioned to David already, I think weak symbols are always a win, but that CL 33411 is only sometimes a win. And CL 33411 is not for 1.8 anyhow. So I think we do want weak symbols.
In Go 1.7 I attempted to remove the ptrToThis field from reflect.rtype. It caused regressions, so I brought it back.
However I didn't completely bring it back. We used to include a ptrToThis value for any type where the pointer is used in the final program. Now we only include it for a subset of types (named values with methods).
This means a greater set of types hit a slow path in reflect.New, which slows down packages like the protocol buffer decoder.
A fix is to partially revert CL 20287 and CL 19695.
The text was updated successfully, but these errors were encountered: