Currently on Main every load of the root analysis page is delayed by ~2s because that is how long it takes us to deliver root/index to even start fetching other things.

I suspect that at least a part of this is that we fetch the whole tool panel as part of the json app dump which results in 42k lines / 2mil characters of 'configuration' in that html.
We should probably deliver the first html with basic configuration ASAP and let other things load in an async manner.
We also seem to be including the toolpanel config literally twice https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/webapps/galaxy/controllers/root.py#L58
We dicsussed improvements for this a few months back, but much of it depended on the refactoring and architecture improvements going on. I can't find an issue for it, though. @guerler, do you remember this?
It's definitely the plan, though, to strip the initial client shipment to the bare minimum and progressively load details like the toolbox, etc.

We recently started running a subdomain with a limited toolbox, the full toolbox adds somewhere between .75 and 3 seconds to the load time (but it's pretty variable.) Here's the graph.
with #5570 in place

This is fantastic @martenson. Particularly considering the large number of tools and many page reloads we still have on main. Never experienced the left tool panel box as critical in local tests (which is not surprising). Shows that its even more important that we quickly create a large test sqllite db for local tests.
<3 can't wait til this supports our filters.
I think we improved this a lot with https://github.com/galaxyproject/galaxy/pull/5616 and related PRs
Most helpful comment
with #5570 in place