所以我把我的手机超频到了1.664ghz,我知道有些应用可以测试你手机的CPU性能和stressers,但我想自己做一些。真正让CPU工作的最佳方法是什么?我只是想做一个for循环做一百万次迭代做一些耗时的数学......但这不起作用,因为我的手机在几毫秒内做到了我认为......我尝试了数万亿次迭代......应用程序冻结,但我的任务管理器甚至没有显示应用程序使用的CPU。通常压力测试应用程序显示为红色并说cpu:85%ram:10mb ...那么我怎样才能真正让我的处理器认真思考?
答案 0 :(得分:1)
编译正则表达式字符串:
Pattern p1 = Pattern.compile("a*b"); // a simple regex
// slightly more complex regex: an attempt at validating email addresses
Pattern p2 = Pattern.compile("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b");
您需要在后台线程中启动它们:
class RegexThread extends Thread {
RegexThread() {
// Create a new, second thread
super("Regex Thread");
start(); // Start the thread
}
// This is the entry point for the second thread.
public void run() {
while(true) {
Pattern p = Pattern.compile("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b");
}
}
}
class CPUStresser {
public static void main(String args[]) {
static int NUM_THREADS = 10, RUNNING_TIME = 120; // run 10 threads for 120s
for(int i = 0; i < NUM_THREADS; ++i) {
new RegexThread(); // create a new thread
}
Thread.sleep(1000 * RUNNING_TIME);
}
}
(上面的代码来自here)
看看情况如何。
答案 1 :(得分:1)
我建议稍微不同的测试,它不是一个简单的数学算法和函数。有很多奇怪的测试,其结果总是包含所有评论。您启动应用程序,它会工作一段时间,然后以标准分数为您提供结果。点数越多(或越少),则认为设备更好。但是,比较结果在现实生活中意味着,并不总是很清楚。而不是全部。 关于数学,首先想到的是大量的小数点数和计算数字“pi”的任务
行。没问题,我们会这样做:
这是第一个测试 - “ The Number Pi ” - 你的手机需要多长时间来计算Pi(3.14)的千万位数字(如果有人在一百年前说过这句话,确切地会立即去精神病院)
当你觉得手机很慢时。你转/扭转界面。但如何衡量它 - 目前还不清楚。 愤怒的小鸟在不同的时间运行在不同的设备上 - 也许测试“愤怒的小鸟”
我们进一步考虑 - 进行更多测试,“重书”和“大页面”。
计算算法:
采取Speed Pi。 使用慢速算法“亚伯拉罕夏普系列”计算一千万个标记。重复几次测量,取平均值。
采取第一个愤怒的小鸟(不是必需的,但这些版本不是最优化的)
测量从发布到第一批音乐的时间。出口。马上跑来跑去。重复几次并取平均值。
测量重型网站页面的加载时间。您可以使用自己喜欢的浏览器进行操作:)
您可以使用This link(抱歉西里尔字母)
此页面使用“计算机浏览器”和图片进行维护。总计6.5 Mb和99个文件(我仍然在这个页面中存储的小型声音文件版本)
所有99个文件都上传到手机。关闭Wi-Fi和移动互联网(这很重要!)
页面随浏览器一起打开。单击“返回”按钮。现在单击“转发”并测量页面完全加载的时间。等几次。后退,后退。像往常一样,我们采取平均值。
所有结果均以秒为单位。
在测试所有支持microSD卡的设备时,是同一张卡片 - Transcend 16 Gb,10级。还有所有数据。
嗯,某些设备的测试的实际结果TEST RESULT
答案 2 :(得分:0)
https://play.google.com/store/apps/details?id=xcom.saplin.xOPS-应用在多个线程(内核数为2倍)上处理数字(整数和浮点数)并构建性能和CPU温度曲线图。
https://github.com/maxim-saplin/xOPS-Console/blob/master/Saplin.xOPS/Compute.cs-这是应用程序的核心