rill
rill copied to clipboard
get profiling back to perceived "magical"
Profiling has gotten much slower since May. I think there are some easy solutions to this.
- it would be nice if we re-ordered the queue a bit. Right now, we enqueue a bunch of stuff that the user doesn’t need to see immediately (such as top ns). I’m noticing that profiling feels a lot. slower with the new numeric histogram rug plot. It would feel faster if that was the lowest-priority item in the priority queue. So I’m thinking of the following priorities:
SummaryProfile– anything that is directly visible in the profiling, e.g. the initial histograms, null counts, cardinalityEssentialProfileDetails– top Ns, timestamp vizDeeperProfileDetails– things like the rug plot, which seem to take a bit longer to run.
- Along with that, we could prefetch a detail if the user mouses over the profile. This would amount to re-prioritizing the details to be "UserRequestedProfile", which should be above
SummaryProfilehere. @domoritz suggests also taking a look at premonish, which uses some simple heuristics to determine if a user's mouse is moving toward a DOM element. This would buy us another 200ms to reorder the priority queue, which would likely make it so that the detail views are already calculated.
We're going to stick to keeping to (1) for this sprint.
Makes sense. Doing the magic prefetching only gives you marginal benefits and everything else needs to be right first.