Agent skill

optimizing-memory-allocation-lite

Provides essential Zero Allocation patterns using Span and ArrayPool. Use when quickly referencing core memory optimization techniques without detailed explanations.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/optimizing-memory-allocation-lite

SKILL.md

Zero Allocation Essentials

1. Span Basics

csharp
// String slicing (no Heap allocation)
ReadOnlySpan<char> part = text.AsSpan(0, 10);

// Array slicing
Span<int> span = data.AsSpan();
Span<int> firstHalf = span[..^(span.Length / 2)];

2. ArrayPool

csharp
// Rent array
var buffer = ArrayPool<byte>.Shared.Rent(size);

try
{
    ProcessBuffer(buffer.AsSpan(0, size));
}
finally
{
    ArrayPool<byte>.Shared.Return(buffer);
}

3. stackalloc

csharp
// Allocate small buffer on Stack
Span<byte> buffer = stackalloc byte[256];

4. Important Notes

  • Span cannot be used with async-await
  • ArrayPool: Must call Return after Rent

For details: See /dotnet-zero-allocation skill

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results