performance

Analyze and optimize C#/.NET application performance issues.

Updated Nov 13, 2025
One-click install
npx skills add https://github.com/changjian-wang/dawning --skill performance-changjian-wang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: performance
Source: https://github.com/changjian-wang/dawning/tree/main/.github/skills/performance
Command: npx skills add https://github.com/changjian-wang/dawning --skill performance-changjian-wang

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses common performance bottlenecks in applications, including inefficient database queries, memory leaks, and suboptimal asynchronous operations.

Core Features & Use Cases

  • Database Optimization: Identifies and suggests fixes for N+1 queries, missing indexes, and over-fetching data.
  • Memory Management: Provides solutions for memory-intensive operations, such as inefficient string concatenation.
  • Asynchronous Patterns: Corrects anti-patterns in async/await usage and identifies unnecessary asynchronous operations.
  • Caching Strategies: Recommends and demonstrates effective caching techniques to reduce load.
  • Use Case: A developer notices their application is slow when loading user lists. They use this Skill to analyze the database queries, identify an N+1 problem, and receive code examples to implement a batch query solution, significantly improving load times.

Quick Start

Use the performance skill to analyze and optimize the database queries for fetching user roles.

Frequently Asked Questions about performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix N+1 query issues when loading related data in C#/.NET applications?

To fix N+1 queries, you replace sequential database calls within loops with batch queries. This optimization technique fetches all related records in a single request, significantly reducing database round-trips and improving application load times.

What are common async/await anti-patterns that cause performance bottlenecks in .NET?

Common async/await anti-patterns include unnecessary asynchronous operations and suboptimal usage that blocks execution threads. Correcting these patterns ensures asynchronous programming operates efficiently, preventing memory leaks and resolving performance bottlenecks in C#/.NET applications.

How do I optimize memory allocation for inefficient string concatenation in C#?

To optimize memory allocation for string concatenation, you replace repetitive string allocations with efficient memory management techniques. This resolves memory-intensive operations by reducing garbage collection overhead, directly addressing memory leaks and application performance issues.

What is the best way to implement caching strategies to reduce database load?

The best way to implement caching strategies is to apply effective caching techniques that store frequently accessed data, reducing database load. This approach minimizes over-fetching data and missing indexes, providing code examples to significantly decrease query execution overhead.

Can I use this approach to identify missing indexes and over-fetching data in SQL queries?

Yes, you can use database optimization analysis to identify missing indexes and over-fetching data. This process evaluates SQL queries to ensure efficient data retrieval, resolving performance anti-patterns and providing targeted SQL query optimization techniques.