Go プログラミング言語 1.26 のリリース

Google がコミュニティの参加を得て開発した Go プログラミング言語は、1.26 か月の開発期間を経て、バージョン XNUMX としてリリースされました。この言語は、コンパイル言語の高いパフォーマンスと、コードの記述の容易さ、開発速度の高さ、エラー保護などのスクリプト言語の利点を兼ね備えています。プロジェクト コードは BSD ライセンスに基づいて配布されます。

Go の構文は、Oberon 言語から一部借用した、よく知られた C 言語の要素に基づいています。言語は非常に簡潔ですが、コードは読みやすく、理解しやすいです。 Go コードは、仮想マシンを使用せずにネイティブに実行される個別のバイナリ実行可能ファイルにコンパイルされます (プロファイリング、デバッグ モジュール、およびその他のランタイム問題検出サブシステムはランタイム コンポーネントとして統合されています)。これにより、C プログラムに匹敵するパフォーマンスが可能になります。

このプロジェクトは、当初はマルチスレッド プログラミングとマルチコア システムでの効率的な操作を念頭に置いて開発されました。たとえば、演算子レベルでは、並列計算と並列メソッド間の相互作用を整理するためのツールが実装されています。この言語には、バッファ オーバーラン保護機能とガベージ コレクション機能も組み込まれています。

新しいリリースの変更点には次のようなものがあります。

  • 小さなオブジェクトの作成とスキャンのパフォーマンスを向上させるために設計された「greenteagc」ガベージコレクターは、デフォルトで有効になっています。ガベージコレクションを多用するアプリケーションでは、「greenteagc」を使用することで、ガベージコレクションのオーバーヘッドが10~40%削減されることが確認されています。
  • 新しい変数を作成するために設計された組み込み関数 new() では、変数の初期値を決定する式をオペランドとして指定できるようになりました。例えば、 x := int64(300) ptr := &x というコードの代わりに、 ptr := new(int64(300)) と記述できます。
  • ジェネリック型は、型自身のパラメータリスト内で引数として自身を参照できます(型を自身のパラメータに渡すことができます)。以下の例の最初の行では、Adderが自身を参照してもエラーが発生しなくなりました。 type Adder[A Adder[A]] interface { Add(A) A } func algo[A Adder[A]](x, y A) A { return x.Add(y) }
  • cgo を使用して Go コードから C 関数を呼び出す際のオーバーヘッドが約 30% 削減されます。
  • 64ビットプラットフォームのランタイムは起動時にアドレス空間のランダム化を実装しており、cgo経由でアクセスされるCコードの脆弱性を悪用しようとすると、メモリアドレスの予測が複雑になります。「GOEXPERIMENT=norandomizedheapbase64」オプションを使用すると、ランダム化を無効化できます。
  • コンパイラがヒープではなくスタック上のスライスにメモリを割り当てる状況の数が拡張され、パフォーマンスにプラスの効果をもたらします。
  • 「go fix」コマンドは、統計的なコード分析機能を提供する分析パッケージを使用して完全に書き換えられました。modernizeパッケージで利用可能なアナライザーのサポートが追加され、新しい言語機能と標準ライブラリ機能に基づいてコードの簡素化を提案します。また、「//go:fix inline」ディレクティブでマークされたすべての関数呼び出しをインライン展開するための「inline」アナライザーも追加されました。
  • 新しいパッケージ crypto/hpke (HPKE — ハイブリッド公開鍵暗号化の実装)、crypto/mlkem/mlkemtest、testing/cryptotest が追加されました。
  • 実験的な simd/archsimd パッケージを追加しました。これは、AMD64 システムで SIMD 命令を使用してベクトル演算を実行するための低レベル アクセスを提供します。
  • 指定された関数の実行中に割り当てられた一時メモリを安全にクリア (ゼロ化) するための実験的なランタイム/シークレット パッケージを追加しました。
  • goroutine リークを検出するための実験的なプロファイル goroutineleak が、runtime/pprof パッケージに追加されました。

出所: オープンネット.ru

DDoS 保護機能を備えた信頼性の高いサイト用ホスティング、VPS VDS サーバーを購入する 🔥 DDoS攻撃対策付きの信頼性の高いウェブサイトホスティング、VPS/VDSサーバーを購入しましょう | ProHoster