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

眺める: 3616|答える: 2

[出典] .NET/C#はSpanを使って高パフォーマンスで文字列を処理しています

[リンクをコピー]
掲載地 2023/05/25 20:13:18 | | | |
要件:最近、<T>SpanやMemoryのような知識を見ると<T>、これらのオブジェクトを使うことに多くの利点があると感じています。例えば、メモリへの直接アクセス(非常に安全)、不要なメモリ割り当ての削減(シーンによる、例:文字列変換のサブストリング遮蔽)、メモリの値を修正できること、そして学習ができること、そして深い理解ではないと感じます。

System.Span<T>は.NETコアの新しい値型です。 これは、管理対象オブジェクトに関連付けられているか、ネイティブコードによる相互運用性の提供か、スタック内にあるかにかかわらず、連続した任意のメモリ領域の表現をサポートします。 これは安全なアクセスを提供しつつ、配列と同様の性能特性を持っています。 使用時には、Spanはほとんどオーバーヘッドなしでメモリとデータのセキュリティを確保します。

例えば、Substringを使って文字列をint、guid、longなどのタイプに変換すると、インターセプトされた文字列の内容は使われなくなりますが、新しい文字列を返すためにSubstringを呼び出すと新しいメモリ空間が要求されます。

まず、以下のようにBenchmarkDotNetベンチマーキングツールが導入されます。

.NET/C#はBenchmarkDotNetを使ってコードのパフォーマンスをテストします
https://www.itsvse.com/thread-9576-1-1.html
テストコードは以下の通りです:

結果は以下の通りです。



参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。





先の:.NET/C# 構文 goto 文
次に:Dockerは draw.io を基にオンラインマインドマップを作成します
掲載地 2023/05/26 14:11:02 |
さあ、学びに来て...
 地主| 掲載地 2023/09/01 21:59:03 |
もしそうなら.NET フレームワーク参照可能System.Memory.dllReadOnlySpan、AsSpan を使います
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com