Googleの言語「Go」、バージョン1.9の改良点 – nikkei BPnet

Home » Google » Googleの言語「Go」、バージョン1.9の改良点 – nikkei BPnet
Google コメントはまだありません



TOPSoftware > Googleの言語「Go」、バージョン1.9の改良点

Software




 人気の高いGoogleのプログラミング言語「Go」は、新バージョンである1.9が2017年8月にリリースされる予定だ。このバージョンでは、パフォーマンス、コンパイル、大規模なコードの改修などに関連する部分で改良が加わっている。

Credit: Bill Selak

 Goの開発者らは、バージョンアップにあたって互換性の維持に力を注いだことから、既存のGo製プログラムもほぼすべてが従来どおり動作するはずだと考えている。

 Go 1.9の新機能や改良点は以下のとおりだ。

  • ガベージコレクタの高速化、生成されるコードの向上、コアライブラリの最適化により、プログラムの動作が若干速くなる。

  • 最適化されたビット操作を実装したmath/bitsパッケージが新たに加わる。コンパイラがこのパッケージの関数を組み込み関数として扱うことでパフォーマンスが向上する。

  • 同一パッケージ内の関数の並行コンパイルがサポートされ、その際にプロセッサのマルチコアが活用される。従来のバージョンのgoコマンドがサポートしていた、別個のパッケージの並行コンパイルも維持されている。並行コンパイルはデフォルトで有効だが、無効にもできる。

  • Go言語自体の変更点として、型エイリアスの宣言が新たにサポートされる。これによって、大規模なリファクタリングの際に段階的なコード改修が可能となり、パッケージ間で型を移動する時に、古い名前を参照するコードと新しい名前を参照するコードを連携できる。例えば、APIを配置するパッケージを変更するようなリファクタリングの時に、型エイリアスを使って、古いパッケージと新しいパッケージの両方のAPIを利用できる移行期間を設け、新旧両方のAPI参照を連携できる。

  • timeパッケージで、モノトニック時刻(monotonic time)の透過的なサポートが加わる。例えば、2つのTime値の間の経過時間を調べる演算の時に、経過時間中にウォールクロック(wall clock)の時刻調整があった場合でも、演算は支障なく行われる。

  • テストヘルパー機能が改良され、呼び出し関数をテストヘルパー関数としてマークする新しいメソッドが追加される。

  • syncパッケージに新しいMap型が追加される。並行処理に対応したマップで、読み込み、格納、削除にかかる時間はならし定数時間である。マップのメソッドを複数のGoルーチンから並行して呼び出すことができる。

(了)

翻訳:内山卓則=ニューズフロント

記事原文(英語)はこちら



コメントを残す