firefox-devtools/profiler

Repeated invocations of processThreadCPUDelta during symbolication take up more time than necessary

Open

#3,481 opened on Aug 5, 2021

 (4 comments) (0 reactions) (0 assignees)TypeScript (486 forks)auto 404
help wantedperfprofile data

Repository metrics

Stars
 (1,515 stars)
PR merge metrics
 (PR metrics pending)

Description

Profile: https://share.firefox.dev/2X0vayw

Every time symbolication updates the thread, processThreadCPUDelta is called again for the modified profile. It seems like this is something that could be done only once. We could bake the guarantees that processThreadCPUDelta makes into the processed profile format. That means, instead of calling it from a selector, we would call it in these two places:

  • During profile processing, and
  • In an upgrader for the processed profile format.

It's not taking a ton of time, and symbolication is slow already, but it's one of many things that adds up to the slowness and it might be easy to fix.

┆Issue is synchronized with this Jira Task

Contributor guide