)]}'
{
  "commit": "ebd2ea0daf7d5bbeba8b6444c81b023ea55becec",
  "tree": "7e1473c8c132fc3053aa0e1a0d4681b36b5a197f",
  "parents": [
    "6ccc053d8b3cfedc25f9c87c672e5af824085610"
  ],
  "author": {
    "name": "Arthur Eubanks",
    "email": "aeubanks@google.com",
    "time": "Tue Feb 13 10:20:39 2018 -0800"
  },
  "committer": {
    "name": "Arthur Eubanks",
    "email": "aeubanks@google.com",
    "time": "Wed Feb 21 17:36:38 2018 -0800"
  },
  "message": "Start target package by binding to Service, not starting Activity\n\nThis reduces the stddev for a bunch of perf tests by quite a bit\n(mostly the ones that rely on starting the package).\n\nThis is because previously the target\npackage was made to start running by starting an Activity, which takes\nup CPU cycles.\n\nNow we start a Service and wait for it to report back that its Looper\nqueue is idle, then proceed.\n\nThis does seem to slightly increase the runtime for some of the tests\nthough...\n\nSome test numbers (only tests that have a large difference before and\nafter):\n\nBefore:\nregisteredBroadcast_mean\u003d1920309\nregisteredBroadcast_median\u003d1724844\nregisteredBroadcast_stddev\u003d559809\nmanifestBroadcastRunning_mean\u003d2395693\nmanifestBroadcastRunning_median\u003d2063385\nmanifestBroadcastRunning_stddev\u003d809836\ncontentProviderRunning_mean\u003d668463\ncontentProviderRunning_median\u003d588125\ncontentProviderRunning_stddev\u003d214116\nbindServiceAllowOomManagement_mean\u003d1952431\nbindServiceAllowOomManagement_median\u003d2017682\nbindServiceAllowOomManagement_stddev\u003d289311\nbindServiceAlreadyBound_mean\u003d2146257\nbindServiceAlreadyBound_median\u003d2022891\nbindServiceAlreadyBound_stddev\u003d614549\nbindServiceRunning_mean\u003d4947541\nbindServiceRunning_median\u003d4710521\nbindServiceRunning_stddev\u003d962094\nstartServiceProcessRunningReadUriPermission_mean\u003d1914106\nstartServiceProcessRunningReadUriPermission_median\u003d1915209\nstartServiceProcessRunningReadUriPermission_stddev\u003d196136\nstartServiceProcessRunning_mean\u003d2841122\nstartServiceProcessRunning_median\u003d2564792\nstartServiceProcessRunning_stddev\u003d684654\n\nAfter:\nregisteredBroadcast_mean\u003d2559587\nregisteredBroadcast_median\u003d2579792\nregisteredBroadcast_stddev\u003d191377\nmanifestBroadcastRunning_mean\u003d2709707\nmanifestBroadcastRunning_median\u003d2725365\nmanifestBroadcastRunning_stddev\u003d165661\ncontentProviderRunning_mean\u003d663058\ncontentProviderRunning_median\u003d639062\ncontentProviderRunning_stddev\u003d97864\nbindServiceAllowOomManagement_mean\u003d1899179\nbindServiceAllowOomManagement_median\u003d1932553\nbindServiceAllowOomManagement_stddev\u003d184329\nbindServiceAlreadyBound_mean\u003d2023920\nbindServiceAlreadyBound_median\u003d2051614\nbindServiceAlreadyBound_stddev\u003d159993\nbindServiceRunning_mean\u003d6683975\nbindServiceRunning_median\u003d6753699\nbindServiceRunning_stddev\u003d475811\nstartServiceProcessRunningReadUriPermission_mean\u003d2388997\nstartServiceProcessRunningReadUriPermission_median\u003d2405365\nstartServiceProcessRunningReadUriPermission_stddev\u003d244184\nstartServiceProcessRunning_mean\u003d3384101\nstartServiceProcessRunning_median\u003d3388282\nstartServiceProcessRunning_stddev\u003d207333\n\nTest: m ActivityManagerPerfTestsTestApp ActivityManagerPerfTests\nTest: adb install \\\n$OUT/data/app/ActivityManagerPerfTestsTestApp/ActivityManagerPerfTestsTestApp.apk\nTest: adb install \\\n$OUT/data/app/ActivityManagerPerfTests/ActivityManagerPerfTests.apk\nTest: adb shell am instrument -w \\\ncom.android.frameworks.perftests.amtests/android.support.test.runner.AndroidJUnitRunner\n\nBUG: 67460485\nChange-Id: Iaaaf7d8db885cc1149e74cb7ce4b47a295ab20e4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23a151c0350a3a038ed6b053d34ed07b672ae50f",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/test-app/AndroidManifest.xml",
      "new_id": "32905a96ae14c75d54093543c8e242fe30974c52",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/test-app/AndroidManifest.xml"
    },
    {
      "type": "rename",
      "old_id": "4e7bb4cc101e701cf3557d84db58d5bc78373a03",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/test-app/src/com/android/frameworks/perftests/amteststestapp/TestActivity.java",
      "new_id": "054097ec207a5e9f7283164744ea1a83250e1f2e",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/test-app/src/com/android/frameworks/perftests/amteststestapp/StartProcessService.java",
      "score": 60
    },
    {
      "type": "modify",
      "old_id": "cf175e00b217d6e1aadb79519949a998053b9585",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/BasePerfTest.java",
      "new_id": "58fb136ae9b3b9eb16c399881a03a361de2cd98f",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/BasePerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "6d2935a148fdf17a3aa7bcb8da4a918d91327fbb",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/ServiceBindPerfTest.java",
      "new_id": "e1263db61b8b33c9a2790e42a9e9c8d72c0bed5e",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/ServiceBindPerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "626ee020542dbc94a39da4f4efa7bde47a8af77a",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/ServiceStartPerfTest.java",
      "new_id": "f05f32382e538d4bf763c8ee244e411132d0e273",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/tests/ServiceStartPerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "3db8abce90da6a28e54c52bb132e27f4430e3d8b",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/util/TargetPackageUtils.java",
      "new_id": "046dd6bb7dcecf7bb00913d15c430af6a8a50c75",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/tests/src/com/android/frameworks/perftests/am/util/TargetPackageUtils.java"
    },
    {
      "type": "modify",
      "old_id": "ffb3f84cee5155cd48597c339873229380ac4afd",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/utils/src/com/android/frameworks/perftests/am/util/Constants.java",
      "new_id": "9b076c507ff8a73d5b1f8d746806bcce815812e4",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/utils/src/com/android/frameworks/perftests/am/util/Constants.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c032c45e75170089b99553c320978dcd97172bc",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/utils/src/com/android/frameworks/perftests/am/util/CountDownResultReceiver.java"
    },
    {
      "type": "modify",
      "old_id": "493d8cdd08036b841e8d22fb9f7e626e8e5ac6e9",
      "old_mode": 33188,
      "old_path": "tests/ActivityManagerPerfTests/utils/src/com/android/frameworks/perftests/am/util/Utils.java",
      "new_id": "67071d204effa393998078a1eb32d4eeb166e663",
      "new_mode": 33188,
      "new_path": "tests/ActivityManagerPerfTests/utils/src/com/android/frameworks/perftests/am/util/Utils.java"
    }
  ]
}
