# Wolfram Cloud slowdown

Has anyone noticed a slowdown on Wolfram Cloud rendering? With @JanPöschko's help I've been using Wolfram Cloud to share docs for my EcoEvo package. I just updated them and noticed that it takes a long time to render now.

The main Guide page takes 1 second to load, but 1 minute and 40 seconds to make all the links active (watch the tiny blue progress bar under the "Wolfram Notebook" header). Before the page has rendered, clicking on a link brings a popup saying "Starting interactivity..." After it is done, clicking on a link is unresponsive for 25 seconds before going to the linked page.

I don't remember it being so slow before. Has something changed?

I'm not sure yet what exactly changed – maybe the underlying "Reference.nb" stylesheet or our handling of N or Inherited (see below). We don't officially support documentation notebooks in the cloud yet (so we don't actively test that stylesheet), but, of course, this should "just work". So it's a little embarrassing this got slower. Sorry.

In cases like this, it can be very useful to look at our (rather experimental and un-polished) "devtools", e.g. by opening the page with an extra ?devtools=true parameter: https://www.wolframcloud.com/obj/EcoEvo/docs/guide/EcoEvo.nb?devtools=true

This shows you all the kernel evaluations being made, which is usually the bottleneck (due to the round-trip time to the server). You can see a lot of evaluations with an evaluated value like

{CloudSystemSynchronousEvaluate[
"4cafbfd0-ee6b-428d-afe1-2b4635dd199c",
CloudSystemUpdateDynamic[
CloudSystemSigningSignedExpression[
If[CurrentValue["MouseOver"],
RGBColor[0.054902, 0.243137, 0.72549], Inherited],
"res:StyleSheets:Wolfram/Reference.nb"], None, N, 87236023836699,
6, 1585260120.881]]}

– so what's happening is that it (unfortunately) uses the kernel to resolve essentially

If[CurrentValue["MouseOver"],
RGBColor[0.054902, 0.243137, 0.72549`], Inherited]

This should really be handled by the client-side evaluator, but it isn't (anymore?), I think because it doesn't know how to resolve N[Inherited]. We will try to get that fixed in Cloud 1.55.

In the meanwhile, you could avoid this by just not using a hover effect for hyperlinks, e.g. adding a style override like the following to your (inline) stylesheet:

TemplateBoxOptions -> {DisplayFunction :> (TagBox[
ButtonBox[
StyleBox[#,
FontColor -> RGBColor[0.054902, 0.243137, 0.72549]],
ButtonData -> {URL[#2], None}],