The fastest and most reliable way for finding out the cause (bottleneck) is profiling.
Example using the native node
profiler and flamebearer
for processing the profiling logs:
npm install -g flamebearer
# (in the sage theme folder)
node --prof ./node_modules/.bin/bud build
node --prof-process --preprocess -j isolate*.log | flamebearer
# open the HTML
chrome flamegraph.html
What stands out in the graph, especially when comparing the last known version that wasn’t slow with the one that after the update?