この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 3878|答える: 1

[通信] [ターン]。 NET 8 新たに追加された高性能タイプ

[リンクをコピー]
掲載地 2023/05/07 9:37:47 | | |
前書き

. Net8バージョンと比較して。 Net7は大きく変わりました。 この記事では、アプリケーションのパフォーマンス向上を目的とした公式に推奨される新しいパフォーマンスの変更点について見ていきます。

ラップアラウンド

1. System.コレクション.凍結

ネームスペースには、FrozenDictionary<TKey、TValue>FrozenSetといったコレクションタイプが含まれます。 一度コレクションが作成されると、これらの型はキーや値の変更を許可しません。 この要件により、読み取り操作(例:TryGetValue()が高速化されます。 これらのタイプは、初回使用時に埋め尽くされ、その後長期的に保存されるコレクションに特に有用です。例えば:

2.System.Buffers.IndexOfAnyValues

型は、渡されたコレクションの任意の値の最初の一致を見つけるメソッドに渡されることを意図しています。 例えば、String.IndexOfAny(Char[])は、指定された配列内の任意の文字の最初の一致を呼び出した文字列の中に位置を探します。 NET 8では、String.IndexOfAny や MemoryExtensions.IndexOfAny など、新しい型インスタンスを受け入れるメソッドオーバーロードが追加されています。 System.Buffers.IndexOfAnyValuesのインスタンスを作成すると、その後の検索を最適化するために必要なすべてのデータがその時点で導出されるため、作業は事前に完了します。

3.System.Text.CompositeFormat(システム.テキスト.コンポジットフォーマット)

型はコンパイル時に未知のフォーマット文字列を最適化するために使われます(例:フォーマット文字列はリソースファイルから読み込まれます)。 文字列の解析などは最初は少し時間がかかりますが、これを使うたびに作業量を節約できます。

4.System.Buffers.IndexOfAnyValues(システム.バッファ.インデックスオブエニバリュー)

型は、渡されたコレクションの任意の値の最初の一致を見つけるメソッドに渡されることを意図しています。 例えば、String.IndexOfAny(Char[])は、指定された配列内の任意の文字の最初の一致を呼び出した文字列の中に位置を探します。 NET 8では、String.IndexOfAny や MemoryExtensions.IndexOfAny など、新しい型インスタンスを受け入れるメソッドオーバーロードが追加されています。 System.Buffers.IndexOfAnyValuesのインスタンスを作成すると、その後の検索を最適化するために必要なすべてのデータがその時点で導出されるため、作業は事前に完了します。

5.System.Text.CompositeFormat(システム.テキスト.コンポジットフォーマット)

型はコンパイル時に未知のフォーマット文字列を最適化するために使われます(例:フォーマット文字列はリソースファイルから読み込まれます)。 文字列の解析などは最初は少し時間がかかりますが、これを使うたびに作業量を節約できます。

6. System.Numerics および System.Runtime.Intrinsics

System.NumericsおよびSystem.Runtime.Intrinsicsの名前空間の改善。 Vector256、Matrix3x2、Matrix4x4は.NET 8のハードウェアアクセラレーションを向上させます。 例えば、Vector256は可能な限り2xVector128を再実装しています。 ハードウェア内部はConstExpectedプロパティを使って注釈を付けています。 これにより、ユーザーは基盤となるハードウェアが定数を必要としている時や、異常な数値が誤ってパフォーマンスを損なう可能性があることを把握できます。

参考:ハイパーリンクのログインが見えます。
翻訳元:ハイパーリンクのログインが見えます。





先の:VSTO(VI)はWord文書の保存をキャンセルまたはブロックします
次に:ASP.NET コア(18) シンプルなOutputCache出力キャッシュをカスタマイズする
掲載地 2023/05/07 15:36:17 |
学ぶために
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com