「バイナリサイズ +60KB」は別機能の話
Go 1.27 について調べていると「バイナリサイズが +60KB 増える」という数字がよく出てくるが、これはジェネリクスメソッドの話ではない。Go 1.27 の別機能である size-specialized malloc の話である。size-specialized malloc は GOEXPERIMENT=nosizespecializedmalloc で opt-out でき、Go 1.28 では削除予定の実験フラグ付き機能なので、ジェネリクスメソッドとは実装上も無関係。混同して資料に書かないよう注意が必要な罠だった。
2026-08-15 時点で調査した限り、ジェネリクスメソッド起因のコンパイル時間・バイナリサイズの数値は、リリースノート・issue・コミットのいずれからも見つかっていない。
似た構造の混同として、#80657 (method 内で simd を使うと ICE になる不具合) もある。これはジェネリクスメソッドではなく、メソッドと GOEXPERIMENT=simd の組み合わせで起きる問題であり、やはり generic method 固有の不具合ではない。
どちらも「Go 1.27 の目玉機能はジェネリクスメソッドだ」という思い込みから、別の実験的機能の話を generic method の話だと早合点しやすいという共通点がある。実装方式そのものについては GC shape stenciling と dictionary を参照。
出典
- Go Release Party 1.27 の発表資料リポジトリ
memo.md§2 - Go Release Party 1.27 の発表資料リポジトリ
issues.md§6