During a benchmark run, we are seeing over 5% of cpu time taken up by each request creating a new ResteasyUriInfo instance. Please see the attached graph.

For most use cases in our application, the parameters are the same between requests, and therefore the ResteasyUriInfo are immutable and could be shared. The case that I can see where sharing a ResteasyUriInfo would be problematic is when there are path parameters in the URI.

Could it be possible to cache ResteasyUriInfo that are immutable, or even cache a URI with placeholders for URI that contain path parameters? 

IIRC hibernate has a similar caching mechanism for prepared statements with parameters, a similar approach may work here.

Thanks,

John

-- 

JOHN O'HARA

PRINCIPAL SOFTWARE ENGINEER

Red Hat