← Portfolio

Streaming more data with less memory.

At Arcesium, Ajay improved OData streaming performance through pagination and serializer work.

Earlier experience
Workflow overview
01Client request
02Paged read
03Serializer
04Streamed response
Simplified illustration

70%

Improvement in OData streaming performance.

80%

Reduction in memory use.

The approach

Pagination and serializer improvements.

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.

The workflow at a glance.

01Client request
02Paged read
03Serializer
04Streamed response

Simplified view of the workflow.

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.

What the work required.

01

Bound the working set

Process data in pages so a large response does not require holding the entire result in memory.

02

Improve the output path

Treat serialization as part of the performance problem, alongside data retrieval.

03

Measure the tradeoff

Judge the change by both response performance and memory use.

What changed.

The OData streaming work improved performance by 70% and reduced memory use by 80%.

What are you building?