我将我的手机超频到1.664GHz,我知道有一些测试手机CPU性能和压力测试的应用程序,但我想自己制作一个。什么是让CPU真正工作的最佳方法?我想只需使用for循环执行100万次耗时数学计算...但这并没有奏效,因为我的手机在几毫秒内完成了操作...我尝试了数万亿次迭代...应用程序冻结了,但我的任务管理器并未显示该应用程序使用CPU。通常,压力测试应用程序会显示为红色,并显示CPU:85% RAM:10MB...那么我如何让处理器认真思考呢?
我将我的手机超频到1.664GHz,我知道有一些测试手机CPU性能和压力测试的应用程序,但我想自己制作一个。什么是让CPU真正工作的最佳方法?我想只需使用for循环执行100万次耗时数学计算...但这并没有奏效,因为我的手机在几毫秒内完成了操作...我尝试了数万亿次迭代...应用程序冻结了,但我的任务管理器并未显示该应用程序使用CPU。通常,压力测试应用程序会显示为红色,并显示CPU:85% RAM:10MB...那么我如何让处理器认真思考呢?
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);
}
}
(上述代码来源于这里)
看看效果如何。
import java.util.regex.Pattern;
如果你想的话可以做100个线程,但是每个线程上的while(true)
循环将会使CPU达到最大值。 - user244343{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_
{|}~-]+)@(?:a-z0-9?.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b" 这是我见过的最长的无意义字符串!哈哈 - Mohammad Adib使用慢算法"亚伯拉罕·夏普级数"计算一千万个标记。多次重复测量,取平均值。
选择第一个版本的愤怒的小鸟(非必需,但这些版本不是最优化的)
从启动到第一次音乐声的时间。退出。立即再次运行。多次重复并取平均值。
测量重负载网页的加载时间。您可以使用您喜欢的浏览器 :)
您可以使用 此链接(很抱歉使用了西里尔文)
该页面与图片一起使用“计算机浏览器”进行维护。总共有6.5 Mb和99个文件(我仍然在这个页面上以其存储版本的小声音频文件)
将所有99个文件上传到手机。关闭Wi-Fi和移动互联网(这很重要!)
页面会在您的浏览器中打开。点击“返回”按钮。现在点击“前进”并测量页面完全加载的时间。然后再做几次。反向-前向,反向-前向。通常情况下,我们取平均值。
所有结果以秒为单位给出。
在测试期间,支持microSD卡的所有设备都使用同一张卡-Transcend 16 Gb,10级别。并且所有数据都在上面。
好的,这些设备的实际测试结果TEST RESULT
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 - 这是应用程序的核心