BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Go 1.1が(安全に)前進

Go 1.1が(安全に)前進

原文(投稿日:2013/06/26)へのリンク

Go 言語のメジャーリリース 1.1 がベータレビュー期間の時点で発表された幾つもの新しいフィーチャの提供を完了した。多くの開発者は、コードを再コンパイルしたとたんに、その優位点に気づくだろう。一方他のフィーチャは新しいライブラリやパターンを使う必要がある。

 

パフォーマンス

パフォーマンス向上に関する詳細な情報を探している方は、GoのコントリビュータであるDave Cheney氏をあてにできる。彼は、Go 1.1のパフォーマンスがどれだけ増加したかを正確に詳述した記事の詳細なシリーズを書いている。 第1部では 、氏は測定にLinux/AMD64プラットフォームを使用したが、ベンチマークの大半は、Go 1.1で速度の増加を記録した。興味深いことに、GzipとGobEncodeのパフォーマンスがやや後退している。net/httpパッケージのベンチマークは、軒並み改善されているが、WindowsとFreeBSDプラットフォームは、Go 1.2までLinuxのパフォーマンスに追いつかないことに注意して欲しい。氏のシリーズの追加記事が i386ARM (Raspberry Piを含む)の結果を詳述している。

 

競合への精力的な取り組み

Goのツールセットに競合検出器という大きなものが加わった。これはメモリの同期エラーをデバッグする時に使う。競合状態は、2つ以上のスレッドが同時にデータ構造を操作しようとする時に、マルチスレッドシステムで発生する。特にGoの場合 「2つのGoルーチンが同時に同じ変数にアクセスし、アクセスの少なくとも一方が書き込みの時、データ競合が発生する」。バグの性質上、これらはしばしば見つけて修正することが難しい。この新しいツールは、そのプロセスを容易にしようとするものだ。現在競合検出器は、Windows、Linux、Mac OS Xプラットフォーム上の64ビットx86アーキテクチャ上で使用することができる。

 

Goを入手する

Goがサポートされている主要なプラットフォームには、 FreeBSD, Linux, Mac OS X, Windows, NetBSDがある。これら全ては、i386 と AMD64 アーキテクチャをサポートし、FreeBSD と Linux は更にARMをサポートしている。Goのインストール直接ダウンロードに関する説明は、golang.orgにある。(最新のリリースは Go 1.1.1で、メジャーリリース1.1へのマイナーなバグ修正 がなされているのに注意して欲しい。)

この記事に星をつける

おすすめ度
スタイル

BT