Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3616|Répondre: 2

[Source] .NET/C# utilise Span pour gérer des chaînes à haute performance

[Copié le lien]
Publié sur 25/05/2023 20:13:18 | | | |
Exigences : Récemment, en examinant des connaissances<T> telles que Span et Memory<T>, je pense qu’il y a de nombreux avantages à utiliser ces objets, tels que : un accès direct à la mémoire (et une grande sécurité), une réduction de l’allocation inutile de mémoire (selon la scène, par exemple, l’interception sous-chaîne de conversion de chaînes), la modification des valeurs en mémoire, et l’apprentissage persistant, sans une compréhension approfondie.

System.Span<T> est un nouveau type de valeur dans le cœur .NET. Il prend en chargement une représentation d’une région contiguë de mémoire arbitraire, que cette mémoire soit associée à un objet géré, fournie par du code natif via l’interop, ou dans la pile. Il le fait tout en assurant un accès sécurisé, avec des caractéristiques de performance similaires à celles des tableaux. En utilisation, Span garantit la sécurité de la mémoire et des données avec peu ou pas de surcharge.

Par exemple, si nous utilisons une sous-chaîne pour convertir une chaîne en type int, guid, long, etc., nous n’utiliserons plus le contenu de la chaîne interceptée, mais appeler une sous-chaîne pour retourner une nouvelle chaîne demandera un nouvel espace mémoire.

Tout d’abord, l’outil de benchmarking BenchmarkDotNet est introduit, comme suit :

.NET/C# utilise BenchmarkDotNet pour tester la performance du code
https://www.itsvse.com/thread-9576-1-1.html
Le code de test est le suivant :

Les résultats sont les suivants :



Référence:

La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.





Précédent:Instruction goto de la syntaxe .NET/C#
Prochain:Docker construit des cartes mentales en ligne basées sur draw.io
Publié sur 26/05/2023 14:11:02 |
Viens apprendre...
 Propriétaire| Publié sur 01/09/2023 21:59:03 |
Si oui.NET Frameworkpeut être référencéeSystem.Memory.dllUtilisez ReadOnlySpan, AsSpan
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com