on my server using the supplied json.
time curl http://myserver/job/tests/job/JENKINS-24457/1/testReport/
real 0m0.290s
user 0m0.015s
sys 0m0.046s
So yes I think the code is ok.
try setting initial heap == max heap (or something higher)
The VM doesn't always expand the heap when a GC frees memory.
I see exactly this issue in the unit tests if the VM doesn't have enough heap and it is caused by GC removing the test result which the plugin needs in order to render the plugin - so each and every scenario requires the test result to be loaded again and again and again and again...
@danielbeck - yes there is free server RAM if you throw away your disk cache - but something heavy on disk like jenkins that's not a good idea in my experience.
Can you be specific on exactly what is slow?
Parsing the results in the build?
Displaying a feature in the ui?
Something else.
If it us the display in the ui then 90% chance your jvm heap is too small. Try increasing it and report back.
If not please attach a json file that is slow.
We observe instant display in a correctly configured system with what i would consider as large features.