Thank you both of you.
I have now updated to version 1.5.9 - though I didn't see any big time improvements :-( (But I guess this is only relevant on first request to the JSON file as it will not be generated again until a restart of the service...)
I have turned off validation (validateURL: null). This seems to have helped a little.
The page still takes >10 sec to display (in Chrome 51), a little quicker in FireFox 45 (about 9sec) but almost 1 min!!! on Edge (ver 25?) browser :-(
I have checked delivery times - it seems to deliver the JSON file quite quickly (1-2 sec) - here is 5 runs on my machine:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
100 1062k 0 1062k 0 0 526k 0 --:--:-- 0:00:02 --:--:-- 526k
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
100 1062k 0 1062k 0 0 781k 0 --:--:-- 0:00:01 --:--:-- 781k
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
100 1062k 0 1062k 0 0 531k 0 --:--:-- 0:00:02 --:--:-- 531k
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
100 1062k 0 1062k 0 0 601k 0 --:--:-- 0:00:01 --:--:-- 601k
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
100 1062k 0 1062k 0 0 514k 0 --:--:-- 0:00:02 --:--:-- 514k
The time seems to be spent parsing the JSON file on the client side. Is there any way (or future plan) to "only" parse and generate the top level information on the Swagger documentation page (what is displayed when opening the page)? It seems to generate everything - also things that are not yet visible. Maybe an idea could be to parse only what is visible. Of course this would cause a longer processing time when opening endPoint-documentation - but that would distribute the time instead of using all parsing time on the opening of the page...? Once an endPoint-section is generated - it doesn't need to be generated again (on the same client) if the endPoint is closed and reopened...
Maybe I have misunderstood and this is what you do already?
/Henrik