【发布时间】:2021-08-10 10:00:48
【问题描述】:
我有一个节点文件,其中包含许多方法,包括从数据库中获取数据的异步调用方法。我需要找到它的确切执行时间。
所以我尝试了,
.
.
var start = Date.now();
await dbFetching()
var end = Date.now();
console.log(end - start)
.
然后我尝试使用执行文件的外部 shell 脚本并找到整个文件执行的实际执行时间。但问题是我只需要计算异步调用(dbFetching)所花费的时间。下面是我的shell脚本,
#!/bin/sh
START=$(date +%s)
node ./s3-glacier.js
END=$(date +%s)
DIFF=$(( $END - $START ))
echo "It took $DIFF seconds"
但我虽然喜欢,如果我可以在 shell 脚本中运行整个节点脚本,也许我可以计算时间。因此,建议您对此进行思考,以仅计算异步时间消耗。 提前致谢
【问题讨论】:
-
"我需要找到它的确切执行时间。"不要依赖于异步调用的一种度量。如果您尝试 100 次重复,您可能会看到相当多的次数。相当多的事情发生在内部,并且有各种随机性来源。当心。
-
是的。每次迭代的时间是否变化都没有关系。但我需要找到单个异步调用的执行时间
标签: node.js shell asynchronous sh