Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 3616|Respuesta: 2

[Fuente] .NET/C# utiliza Span para manejar cadenas de alto rendimiento

[Copiar enlace]
Publicado en 25/5/2023 20:13:18 | | | |
Requisitos: Recientemente, al analizar conocimientos<T> como Span y Memory<T>, siento que hay muchas ventajas en usar estos objetos, como: acceso directo a la memoria (y muy seguro), reducción de asignaciones innecesarias de memoria (dependiendo de la escena, por ejemplo, intercepción de substring de conversión de cadenas), modificación de valores en memoria y aún así aprender, sin esa comprensión profunda.

System.Span<T> es un nuevo tipo de valor en el núcleo .NET. Soporta una representación de una región contigua de memoria arbitraria, ya sea que esa memoria esté asociada a un objeto gestionado, proporcionada por código nativo mediante interoperabilidad, o esté en la pila. Lo hace sin dejar de ofrecer acceso seguro, con características de rendimiento similares a las de los arrays. En uso, Span garantiza la seguridad de la memoria y los datos con poca o ninguna sobrecarga.

Por ejemplo, si usamos Substring para convertir una cadena y que sea tipo int, guid, long, etc., ya no usaremos el contenido interceptado de la cadena, pero llamar a Substring para devolver una nueva cadena solicitará nuevo espacio de memoria.

Primero, se introduce la herramienta de benchmarking BenchmarkDotNet, de la siguiente manera:

.NET/C# utiliza BenchmarkDotNet para probar el rendimiento del código
https://www.itsvse.com/thread-9576-1-1.html
El código de prueba es el siguiente:

Los resultados son los siguientes:



Referencia:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.





Anterior:.NET/C# sentencia goto
Próximo:Docker crea mapas mentales online basados en draw.io
Publicado en 26/5/2023 14:11:02 |
Ven a aprender...
 Propietario| Publicado en 1/9/2023 21:59:03 |
Si es así.NET Frameworkse puede consultarSystem.Memory.dllUsa ReadOnlySpan, AsSpan
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com