Performance engineering / Ajay at Arcesium · previous employment
Streaming more data with less memory.
At Arcesium, Ajay improved OData streaming performance through pagination and serializer work.
Earlier experience70%
Improvement in OData streaming performance.
80%
Reduction in memory use.
The approach
Pagination and serializer improvements.
The setting
The problem behind the work.
An OData endpoint had to serve large data sets without allowing memory use to rise with the size of the response. Out-of-memory failures made the existing streaming path a practical constraint.
Fetching and serializing too much data at once put pressure on memory and limited performance. The read path and output path both needed attention.
How it works
The workflow at a glance.
Simplified view of the workflow.
Contribution
What Ajay built.
Ajay's role
Ajay worked on pagination to resolve out-of-memory failures and contributed improvements to the Apache Olingo 4 serializer as a Lead Software Engineer at Arcesium.
Approach
Pagination bounded how much data the service handled at one time. Serializer improvements addressed the cost of turning that data into an OData response.
Design choices
What the work required.
Bound the working set
Process data in pages so a large response does not require holding the entire result in memory.
Improve the output path
Treat serialization as part of the performance problem, alongside data retrieval.
Measure the tradeoff
Judge the change by both response performance and memory use.
Result
What changed.
The OData streaming work improved performance by 70% and reduced memory use by 80%.
Start a conversation