【发布时间】:2019-12-12 05:24:31
【问题描述】:
上次我做优化时(可能是一年前),我能够在 js 火焰图中看到所有可能的函数调用。
然而,现在看来,它并没有一路走下去。
我期待更多的子调用,以便我可以理解为什么它运行这么长时间。
该函数如下所示:
function updateIfNeeded() {
switch (state) {
case 'NO_REQUEST':
throw new Error('Unexpected draw callback.\n' + 'Please report this to <https://github.com/elm-lang/virtual-dom/issues>.');
case 'PENDING_REQUEST':
rAF(updateIfNeeded);
state = 'EXTRA_REQUEST';
var nextNode = view(nextModel);
var patches = diff(currNode, nextNode);
domNode = applyPatches(domNode, currNode, patches, eventNode);
currNode = nextNode;
return;
case 'EXTRA_REQUEST':
state = 'NO_REQUEST';
return;
}
}
它是 elm 运行时的一部分。
现在,虽然此函数可能不会调用任何其他函数,但它无法解释为什么它会运行这么长时间。
我的完整火焰图的按钮在哪里:}
【问题讨论】:
-
我有一种感觉,太快执行的方法只是没有在火焰中采样
标签: performance google-chrome-devtools performance-testing