gpt4 book ai didi

javascript - 通过 JS 测量 CPU 性能

转载 作者:数据小太阳 更新时间:2023-10-29 04:09:08 25 4
gpt4 key购买 nike

Web 应用程序的核心组件是一个处理几何运算的相对繁重的算法。

有两种解决方案可以让高端机器和相对较慢的移动设备都可以访问整个内容。

如果我检测到用户机器“慢”或者如果我检测到用户机器可以正常处理它,我可以使用 RPC(远程过程调用),然后我向网络应用程序提供脚本在客户端处理它。

现在检测用户机器速度的可靠方法是什么?

我想提供一个示例脚本作为页面加载时的测试,并检测执行它所花费的时间。

有什么想法吗?

最佳答案

我写了这个快速脚本来获得 cpu 速度:

var _speedconstant = 1.15600e-8; //if speed=(c*a)/t, then constant=(s*t)/a and time=(a*c)/s
var d = new Date();
var amount = 150000000;
var estprocessor = 1.7; //average processor speed, in GHZ
console.log("JSBenchmark by Aaron Becker, running loop " + amount + " times. Estimated time (for " + estprocessor + "ghz processor) is " + (Math.round(((_speedconstant * amount) / estprocessor) * 100) / 100) + "s");
for (var i = amount; i > 0; i--) {}
var newd = new Date();
var accnewd = Number(String(newd.getSeconds()) + "." + String(newd.getMilliseconds()));
var accd = Number(String(d.getSeconds()) + "." + String(d.getMilliseconds()));
var di = accnewd - accd;
//console.log(accnewd,accd,di);
if (d.getMinutes() != newd.getMinutes()) {
di = (60 * (newd.getMinutes() - d.getMinutes())) + di
}
spd = ((_speedconstant * amount) / di);
console.log("Time: " + Math.round(di * 1000) / 1000 + "s, estimated speed: " + Math.round(spd * 1000) / 1000 + "GHZ");

请注意,这取决于浏览器选项卡、内存使用情况等。但我发现如果您只运行一次它非常准确,比如在加载页面时。

如果您希望可以更改 _speedconstant 以更改速度,只需使用等式 (knowncpuspeed*knowntimetocomplete)/knowncycles 来计算它。希望你觉得这很有用!

关于javascript - 通过 JS 测量 CPU 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19754792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com