CNode

请教大家一个关于使用JS计算所耗时长的问题

问答
Eecholoyuk发布于10 年前最后回复10 年前11 回复6848 浏览0 收藏

工作中,我需要得到一个渲染复杂的前端页面的时间。请问那种计算两个时间戳差值的结果是不是真实的呢?例如:

var start = new Date();
doSomething();
var end = new Date();
console.log(end.getTime() - start.getTime()); //得到doSomething()所耗时长。

如果刨除变量end的new所耗的时间,剩下的时间是否是真正的dosomething的时间?

另外,如果doSomething()中包含了DOM操作,那么这种方法计算得出的时间是否包含了DOM重排+重绘的时间呢?

查看回复

回复 (11)

Y
yjhjstz#1·10 年前

有网络请求,也就是异步 IO 在里面吗?

E
echoloyuk#2·10 年前
引用 yjhjstz有网络请求,也就是异步 IO 在里面吗?

@yjhjstz 没有。如果是ajax等异步,就把这个写在回调里面

Z
zhangshiqiu#3·10 年前

可以用console.time('some')和console.timeEnd('some')

F
flamingtop#4·10 年前

或者 console.profile() console.profileEnd()

Y
yakczh#5·10 年前

nodejs 有benchmark的包吗?

E
echoloyuk#7·10 年前
引用 zhangshiqiu可以用console.time('some')和console.timeEnd('some')

@zhangshiqiu 这样的方式js可以获取到数据吗?我还要把这个时间发送到服务器做记录 自豪地采用 CNodeJS ionic

E
echoloyuk#8·10 年前
引用 flamingtop或者 console.profile() console.profileEnd()

@flamingtop 同上问题,我一会儿去单位研究一下,多谢朋友 自豪地采用 CNodeJS ionic

D
dd1994#9·10 年前
Z
zhangshiqiu#10·10 年前

@echoloyuk 可以获取,但没有办法发送到服务器的

B
broven#11·10 年前

benchmark.js 这个是你需要的吗? https://github.com/bestiejs/benchmark.js

参与回复
登录后即可参与回复。登录