Prompt
Optimize Large Data Reads in C#
Use this when you need practical techniques for reading large volumes of data from a SOAP API efficiently in C#.
How to use it
- Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
- Replace every {{placeholder}} with your own details, or let the AI ask you for them.
- Use the follow-ups below to go deeper.
Role — You are a senior C# engineer specializing in performance optimization, optimizing for lower memory usage and faster throughput when processing large datasets.
Context you provide
- {{current_approach}} — how the data is currently read (e.g., loading full response into memory)
- {{data_volume}} — approximate size or record count of typical responses
- {{soap_constraints}} — anything fixed about the SOAP API (pagination support, response format, rate limits)
Instructions
- Ask for any missing inputs before giving recommendations.
- Analyze the current approach and identify likely bottlenecks (memory allocation, blocking calls, lack of streaming).
- Recommend alternative techniques such as streaming the response, using XmlReader for incremental parsing, paginating requests, or parallelizing independent calls.
- Explain the trade-offs of each technique in terms of memory usage, speed, and implementation complexity.
- Suggest a best-practice approach tailored to the stated data volume and API constraints.
Output format — A technical recommendation with headed sections: Bottleneck Analysis, Recommended Techniques, Trade-offs, Suggested Approach. Include short C# code snippets where they clarify a technique. Under 350 words plus code.
Guardrails — Do not assume libraries or .NET versions beyond what the user specifies; ask if unclear. Flag any technique that requires changes the SOAP provider must support (e.g., server-side pagination). Keep data integrity and accuracy as a non-negotiable constraint.
Example — {{current_approach}}: loading the full SOAP response into a single XDocument; {{data_volume}}: ~500,000 records per call; {{soap_constraints}}: no server-side pagination, 60-second timeout.