当前位置: 首页 > 面试题库 >

如何性能测试JavaScript代码?

燕青青
2023-03-14
问题内容

CPU周期,内存使用率,执行时间等?

补充:除了感知代码运行的速度之外,还有定量的测试JavaScript性能的方法吗?


问题答案:

探查器绝对是获取数字的好方法,但是根据我的经验,感知的性能对用户/客户端至关重要。例如,我们有一个带有Ext手风琴的项目,该项目已扩展为显示一些数据,然后显示一些嵌套的Ext网格。实际上,所有内容的渲染速度都非常快,一次操作都不需要很长时间,一次渲染的信息很多,因此用户感觉很慢。

我们不是通过切换到更快的组件或优化某种方法来“修复”此问题,而是首先渲染数据,然后使用setTimeout渲染网格。因此,信息首先出现,然后第二个网格弹出。总体而言,以这种方式花费了更多的处理时间,但是对于用户而言,感知性能得到了改善。

这些天来,Chrome的探查和其他工具的普及和易于使用,因为是console.time(),console.profile()performance.now()。Chrome还为你提供了一个时间轴视图,可以显示导致帧速率降低的原因,用户可能正在等待的位置等。

查找所有这些工具的文档确实非常容易,你不需要一个SO答案。7年后,我仍然会重复最初答案的建议,并指出你可以让用户永远不会注意到的地方永远运行缓慢的代码,而在用户注意到的地方却可以运行非常快速的代码,他们会抱怨非常快的代码不够快。或者你对服务器API的请求花费了220毫秒。或类似的东西。重点仍然是,如果你将探查器拿出来去寻找要做的工作,就会找到它,但这可能不是用户需要的工作。



 类似资料:
  • 性能测试应该有两个方向: 单接口压力测试 生产环境模拟用户操作高压力测试 生产环境模拟测试,目前我们都是交给公司的 QA 团队专门完成的。这块我只能粗略列举一下: 获取 1000 用户以上生产用户的访问日志(统计学要求 1000 是最小集合) 计算指定时间内(例如 10 分钟),所有接口的触发频率 使用测试工具(loadrunner, jmeter 等)模拟用户请求接口 适当放大压力,就可以模拟

  • 目标 对ShardingSphere-JDBC,ShardingSphere-Proxy及MySQL进行性能对比。从业务角度考虑,在基本应用场景(单路由,主从+加密+分库分表,全路由)下,INSERT+UPDATE+DELETE通常用作一个完整的关联操作,用于性能评估,而SELECT关注分片优化可用作性能评估的另一个操作;而主从模式下,可将INSERT+SELECT+DELETE作为一组评估性能的

  • go1.6.2 linux/amd64 Ubuntu 16.04 amd64 虚拟机 2 个处理器核心 2 GB 内存 并行测试 BenchmarkParallelHprose2-2 200000 9239 ns/op 789 B/op 25 allocs/op BenchmarkParallelHprose2Unix-2

  • 问题内容: 我有一个Python脚本,该脚本可以正常工作,但是我需要编写执行时间。我已经用谷歌搜索了,但是我似乎无法使它正常工作。 我的Python脚本如下所示: 我需要的是执行查询并将其写入文件所需的时间。目的是使用不同的索引和调整机制来测试数据库的更新语句。 问题答案: 您可以在要计时的块之前或之后使用或。 此方法不完全精确(它不会平均运行几次),但是很简单。 (在Windows和Linux中

  • 主要内容:测试命令格式,执行测试命令为了解 Redis 在不同配置环境下的性能表现,Redis 提供了一种行性能测试工具 redis-benchmark(也称压力测试工具),它通过同时执行多组命令实现对 Redis 的性能测试。 性能测试的作用是让我们了解 Redis 服务器的性能优劣。在实际的业务场景中,性能测试是必不可少的。在业务系统上线之前,我们都需要清楚地了解 Redis 服务器的性能,从而避免发生某些意外情况,比如数据量过

  • Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 实例 测试存取大小为100字节的数据包的性能。 $ redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100 PING_INLINE: 85910.65 requests per se