コンパイラを改善した「Go 1.7」リリース

 Googleの「Go」言語開発チームは8月15日、最新版となる「Go 1.7」を公開した。コンパイラの改善、新しいハードウェアのサポートといった新機能が加わっている。

 Go 1.7は、2月に公開されたバージョン1.6に続く最新版。コンパイラの改善として、バックエンドを静的単一代入(Static Single-Assignment)形式ベースのものに切り替えた。SSA形式でプログラムを表現することで高度な最適化が容易になり、最適化を含みつつコンパクトで効率的なコードを生成できるとしている。バウンドチェックの削減、共通部分式除去などが可能で、ベンチマークテストでは5~35%の高速化が確認できたという。なお、新しいバックエンドは64ビットx86プラットフォーム(amd64)のみの対応となる。将来的にはほかのアーキテクチャでも利用できるようにするとしている。

 フロンドエンドも強化した。これまで以上にコンパクトなエクスポートデータフォーマットを利用し、インポートの宣言をより効率良く処理できるようになった。高速化に寄与するほか、バイナリサイズは最大で20~30%削減できるという。

 ネットワーク、インフラ、KubernetesやDockerなどのマイクロサービスに関連したアプリケーションでよく利用されているコンテキストパッケージでは、標準ライブラリでの利用など利用を拡大するためにリポジトリを移動した。net、net/http、os/execなどのパッケージで利用できるという。

 バージョン1.5で実験的にサポートし、1.6でデフォルト対応になった「vendor」ディレクトリ(パッケージベンダリング)では、有効化するオプションが削除され、常時有効となった。

 これらに加え、Linux/IBM zSystems(s390x)向けのポーティングも加わっている。Go 1.7はプロジェクトのWebサイトより入手できる。ライセンスはBSDライセンス。

Go
https://golang.org/