Exemplo de pooling em c# dotnet 4.6.1 #112
Replies: 2 comments
-
Nesse exemplo, um array de bytes é criado e um pool de arrays é obtido através do objeto ArrayPool. Em seguida, um array de 1024 bytes é alugado do pool utilizando o método Rent, e é usado para realizar uma operação qualquer. Por fim, o array é devolvido para o pool utilizando o método Return, para que possa ser reutilizado em outras partes do código. Lembre-se que, para obter um bom desempenho utilizando o pooling, é importante utilizar o mesmo pool em todo o código, para que os objetos possam ser reutilizados de forma eficiente. |
Beta Was this translation helpful? Give feedback.
-
pooling com o .NET 6 usando a nova API MemoryPool: using System;
using System.Buffers;
class Program
{
static void Main(string[] args)
{
// Criando um pool de bytes
var pool = MemoryPool<byte>.Shared;
// Alugando um Memory<T> a partir do pool
var rentedMemory = pool.Rent(1024);
// Obtendo o span de bytes a partir do Memory<T>
Span<byte> rentedSpan = rentedMemory.Span;
// Usando o span alugado
Console.WriteLine(rentedSpan.Length);
// Devolvendo o Memory<T> para o pool
rentedMemory.Dispose();
}
} |
Beta Was this translation helpful? Give feedback.
-
O pooling é uma técnica utilizada para reutilizar objetos em vez de criar novos, a fim de minimizar o impacto na coleta de lixo e no desempenho do aplicativo. No .NET Framework 4.6.1, o pooling pode ser implementado utilizando o objeto System.Buffers.ArrayPool.
Aqui está um exemplo simples de como utilizar o ArrayPool em C#:
Beta Was this translation helpful? Give feedback.
All reactions