我怎样才能以编程方式强调手机的CPU?

时间:2011-09-13 04:21:24

标签: android cpu processor stress-testing root

所以我把我的手机超频到了1.664ghz,我知道有些应用可以测试你手机的CPU性能和stressers,但我想自己做一些。真正让CPU工作的最佳方法是什么?我只是想做一个for循环做一百万次迭代做一些耗时的数学......但这不起作用,因为我的手机在几毫秒内做到了我认为......我尝试了数万亿次迭代......应用程序冻结,但我的任务管理器甚至没有显示应用程序使用的CPU。通常压力测试应用程序显示为红色并说cpu:85%ram:10mb ...那么我怎样才能真正让我的处理器认真思考?

3 个答案:

答案 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)的千万位数字(如果有人在一百年前说过这句话,确切地会立即去精神病院)

当你觉得手机很慢时。你转/扭转界面。但如何衡量它 - 目前还不清楚。 愤怒的小鸟在不同的时间运行在不同的设备上 - 也许测试“愤怒的小鸟”

我们进一步考虑 - 进行更多测试,“重书”和“大页面”。

计算算法:

  1. 测试“Pi”
  2. 采取Speed Pi。 使用慢速算法“亚伯拉罕夏普系列”计算一千万个标记。重复几次测量,取平均值。

    1. 测试“愤怒的小鸟”
    2. 采取第一个愤怒的小鸟(不是必需的,但这些版本不是最优化的)

      测量从发布到第一批音乐的时间。出口。马上跑来跑去。重复几次并取平均值。

      1. 测试“大页面”
      2. 测量重型网站页面的加载时间。您可以使用自己喜欢的浏览器进行操作:)

        您可以使用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温度曲线图。

Screen shot

https://github.com/maxim-saplin/xOPS-Console/blob/master/Saplin.xOPS/Compute.cs-这是应用程序的核心