「Go」プログラミング言語が「Apple M1」チップをネイティブサポート
今回は「「Go」プログラミング言語が「Apple M1」チップをネイティブサポート」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
GoogleのオープンソースプロジェクトのGolangは米国時間2月16日、プログラミング言語「Go」のバージョン1.16をリリースした。このバージョンはAppleの「M1」チップをネイティブにサポートするほか、パフォーマンスの向上を図っている。
Go(Golangとも呼ばれる)は、RedMonkの人気プログラミング言語ランキングで、トップ20入りを果たしている。GoはGoogleが2007年に開発した言語で、現在はNetflix、American Express、Salesforce、IBM、Target、Twitch、Uber、Dropboxなどでも使用されている。
数カ月間にわたるベータテストを経た安定版のGo 1.16を、ウェブサイトからダウンロードできる。注目すべきは、新しい「MacBook Air」や「Mac mini」、13インチの「MacBook Pro」に搭載されている、AppleのArmベースの新チップM1をネイティブサポートしている点だ。
AppleとGoogleは、GoとGoモジュールが変換レイヤーの「Rosetta 2」を使って、Go x86バイナリーをうまく動作させたり、Go ARM64バイナリーをネイティブで実行したりできるように協力してきた。
Goは既に、64ビットARM上でLinuxを、「Raspberry Pi」用の32ビットARM上でLinuxを、32ビットARM上で「Windows 10 IoT Core」をサポートしているほか、さまざまなアーキテクチャーとOSの組み合わせにも対応している。
Golangプロジェクトによると、まだ64ビットARM上で「Windows 10」にはネイティブ対応していない。しかし、「Surface Pro X」でネイティブに動作させるのが次の目標だという。これまでのスケジュールから判断すると、9月頃にリリースされる見通しの「Go 1.17」では実現するかもしれない。
Goによると、「macOS 10.12 Sierra」に対応するのは、Go 1.16が最後となる。「Go 1.17」からは、「macOS 10.13 High Sierra」かそれ以降のバージョンが必要だ。
Goプロジェクトは過去2年間、パフォーマンスを改善し、メモリー消費量を減らすために、Goリンカーの刷新に取り組んできた。また、Goを使って開発されているソフトウェアの規模拡大に伴い課題になっていた、ビルド時間の短縮にも努めてきた。
プロジェクト関係者によると、「大規模なGoプログラムの代表的なセットでは、リンキングがバージョン1.15と比べて、20~25%高速になっている。またlinux/amd64の場合、必要なメモリーも平均5~15%低い。その他のアーキテクチャーやOSは、さらに大きな改善が見られるはずだ。多くのバイナリーも、より積極的にプルーニングした結果、小さくなっている」
さらに、新しい「Package embed」により、コンパイル時に埋め込んだファイルへのアクセスも提供している。
「Goプログラムに、サポートするデータファイルを容易にバンドルできるようになり、開発をよりスムーズに行える」(Golangプロジェクト)