Ok, the slowness has been fixed. The issue is that "Connection: Close" was not being passed in our HTTP sockets implementation for POST requests. Some servers waited longer than others to terminate the connection automatically. This relates to HTTP 1.1 keepalive functionality.
That said, I will keep this issue open as there is some merit to the idea of having more clarity about what the checks are, when they are running, and what the results are. The exact flow would probably need to be discussed more.
While the Health Check isn't much of a slow down, the "file integrity check" may be. Although this only runs for the manual installer and auto-skips if too slow.
So this is definitely part of the discussion here.
For me it is sub-second.
It runs a limited permissions check with a specialised version of the scanner.
On my remote Linux server, granted it has older hardware, it takes about 20 seconds.
Windows takes about 10 seconds I think on AMPPS, if I recall when I did Windows testing.
SSD for both my home Linux and Windows set-ups. HDD for the remote server.
That said, I will keep this issue open as there is some merit to the idea of having more clarity about what the checks are, when they are running, and what the results are. The exact flow would probably need to be discussed more.
So this is definitely part of the discussion here.