Skip to content
Snippets Groups Projects
  1. Nov 17, 2023
    • Jared Duke's avatar
      Update OWNERS for perftests · ccfbff08
      Jared Duke authored
      Add current perf team members shayba@ and jdduke@, and remove
      former members jpakaravoor@, balejs@, and cfijalkovich@.
      
      Test: N/A
      Change-Id: If786fa38bc5f86d9e64b1672bdcf5e8cde178aec
      ccfbff08
  2. Nov 16, 2023
    • John Reck's avatar
      Only use the gainmap shader if we might need it · 6256c0f5
      John Reck authored
      Skip using the gainmap shader when drawing to a bitmap
      with a known SDR colorspace as it'll be a no-op in
      rendering results since W=1.0, but it'll be very expensive
      in runtime due to CPU evaluation of the SKSL shader.
      
      Before:
      createScaledBitmapWithGainmap_median (ns): 179,455,037
      
      After:
      createScaledBitmapWithGainmap_median (ns): 15,643,742
      
      Bug: 311085927
      Test: benchmark in CL
      Change-Id: I3f2506a2bd86bbe29c6e0837d31e4a231a7c182a
      6256c0f5
  3. Nov 15, 2023
    • Cole Faust's avatar
      Fixes for errorprone update · a599ed93
      Cole Faust authored
      Bug: 311064136
      Test: m RUN_ERROR_PRONE=true javac-check
      Change-Id: Ia6e4162a4244793f772dc880b73be0bc30f26d8b
      a599ed93
  4. Sep 11, 2023
  5. Aug 23, 2023
  6. Aug 22, 2023
    • Colin Cross's avatar
      Fix kotlin nullable errors in perftests · 2522501d
      Colin Cross authored
      Fix kotlin nullable errors that were exposed by setting the retention
      of android.annotation.NonNull and android.annotation.Nullable to
      class retention.
      
      Bug: 294110802
      Test: builds
      Change-Id: Icfec5d0e20b534d7af9aeb1b539a711db76d5e5c
      2522501d
  7. Aug 02, 2023
  8. Jul 19, 2023
  9. Jun 27, 2023
  10. Jun 13, 2023
  11. Jun 01, 2023
  12. May 19, 2023
    • Sudheer Shanka's avatar
      Explicitly add "flush-broadcast-loopers" option. · 6eb0f68b
      Sudheer Shanka authored
      Recently, flushing the broadcast loopers behavior, when
      "wait-for-broadcast-barrier" command is invoked, is made
      optional which resulted in some regressions in multi-user
      tests as they same to be relying on flushing the broadcast
      loopers behavior. So, explicitly add this option when
      invoking the command.
      
      Bug: 282848750
      Test: atest android.multiuser.UserLifecycleTests
      Change-Id: I6ba4e0858a63653b731c7a24b600ce9af758d39c
      6eb0f68b
  13. May 10, 2023
  14. Apr 26, 2023
    • Yasin Kilicdere's avatar
      Start test apks via adb command instead of calling the API directly. · 6b4da17b
      Yasin Kilicdere authored
      Calling the API was failing with ActivityManager.START_ABORTED error
      code. This CL fixes that issue by starting the test apk via abd shell
      command.
      
      Bug: 279403644
      Test: atest UserLifecycleTests
      Change-Id: I86d0c0f8ccd0f17833ad418c29be19489a2fdc9f
      6b4da17b
    • Yasin Kilicdere's avatar
      Start user in background via adb command instead of calling the API. · 84ff04d3
      Yasin Kilicdere authored
      If the user to be started is a profile of a current foreground user,
      it should be started via IActivityManager.startProfileWithListener API
      instead of IActivityManager.startUserInBackgroundWithListener. This
      logic is already implemented in ActivityManagerShellCommand, so rather
      than duplicating it, we'll be doing it by running the shell command.
      
      Bug: 279403644
      Test: atest UserLifecycleTests
      Change-Id: I4b9e6f1e565187e93e13ad94f41d51ee5f7e3e42
      84ff04d3
  15. Apr 25, 2023
  16. Apr 20, 2023
    • Yasin Kilicdere's avatar
      Fullscreen user switching dialog with animations. · 4eb7c3fe
      Yasin Kilicdere authored
      Instead of freezing the screen during the user switch, with this CL
      we are introducing a full screen user switcher, which is showing
      target user's user name and profile photo with an animated spinner
      around it.
      
      Steps of a user switch:
      1. 300ms - dialog show animation
      2. 500ms - spinner animation around profile picture
      3. Do the actual user switch
      4. 300ms - dialog dismiss animation
      5. End user switch (call UserSwitchObservers.onUserSwitchComplete, and
         send ACTION_USER_SWITCHED broadcast)
      
      Changes:
      * Step1 was already there.
      * Step2 is added between 1-3, which shows a nice smooth progress
        animation around profile picture, but increases the user switch
        duration by 500ms.
      * Step5 and Step4 were running at the same time before, now Step5 is
        postponed after the completion of Step4. Otherwise, dismiss
        animation becomes jerky. It was also jerky with unfreezing the
        screen, now that jerkiness is gone.
      * All animations are disabled for slower devices.
        see: ActivityManager.isLowRamDeviceStatic()
      
      Results:
      * We're increasing the user switch duration by 800ms. (Step2 + Step4)
      * We've a full screen user switcher with smooth animations.
      * There is no more jerkiness in any stage (showing, during, hiding) of
        the dialog.
      
      Notes:
      * Our intention was to run Step2 and Step3 simultaneously but it makes
        the spinner animation jerky.
      * We're disabling the dialog show/hide and spinner animations when
        running UserLifecycleTests.
      
      Bug: 269237775
      Bug: 223090747
      Test: atest FrameworksServicesTests:UserControllerTest
      Test: atest UserLifecycleTests
      Change-Id: I5e0132e19c8da25438c5dbfecdeddf475b18f7d4
      4eb7c3fe
  17. Apr 11, 2023
  18. Apr 05, 2023
  19. Apr 03, 2023
  20. Mar 30, 2023
  21. Mar 29, 2023
  22. Mar 06, 2023
    • Ming-Shin Lu's avatar
      Make ImePerfTest#testShowImeCold more accurate · 167f9416
      Ming-Shin Lu authored
      In case killBaselineIme() will result the system busy on doing kill
      process stuff and easier happen the locking contention in WM/ATM side
      when measuring show IME with cold-lunch activity performance,
      
      Make sure to start atrace after kill IME process being settled down
      and dumping the trace for each iteration.
      
      With this CL, following metrics can more accurate in reality without
      being affected by unexptected delay:
      - testShowImeCold_cv: 70 -> 10-20
      - startInputOrWindowGainedFocus_mean: 6-8ms -> 2.8-4ms
      
      Bug: 266708619
      Test: atest ImePerfTest#testShowImeCold
      Change-Id: Ibd004a36759e557c90bd6f156af3729d39f7721f
      167f9416
  23. Mar 03, 2023
    • Siarhei Vishniakou's avatar
      Change MotionPredictor API to only support a single device · c694cfe7
      Siarhei Vishniakou authored
      Before this CL, the MotionPredictor API was inconvenient to use. The
      MotionPredictor.predict returned a list of MotionEvents, with one
      MotionEvent per-device.
      
      The goal was to force applications to consider multi-device streams.
      However, even if the apps use this API, there's no way they can
      currently test this behaviour, since the multi-device feature is not yet
      available.
      
      For the multi-device streams feature, the current plan is to provide a
      new View callback to get these raw streams. In those streams, the
      per-device MotionEvents would continue to look the same. However, the
      events may now be interleaved between different devices. For example, a
      sequence like this would be possible: DOWN(deviceId=2) ->
      DOWN(deviceId=3) -> MOVE(deviceId=2).
      
      That means that the app will likely have to do per-device bookkeeping
      anyways. So the app might as well just create a per-device
      MotionPredictor object, as well.
      
      Bug: 167946763
      Test: (cd frameworks/native/services/inputflinger && atest)
      Change-Id: I34b8dc02d4f995146cb3eed33888ae34abde29d6
      c694cfe7
    • Songchun Fan's avatar
      [SettingsProvider] perf test for null settings · 08c4cb86
      Songchun Fan authored
      This is to track performance differences before and after the
      cache optimization for null settings.
      
      BUG: 228619157
      Test: atest android.provider.SettingsProviderPerfTest
      Change-Id: I04590d4d692d12970aa6d53789770fbe426f2c0e
      08c4cb86
  24. Feb 15, 2023
    • Ted Bauer's avatar
      Revert "Add + enforce new DeviceConfig permissions." · c77534c8
      Ted Bauer authored
      Revert submission 20961419-deviceconfig-restrict
      
      Reason for revert: CTS breakage
      
      Reverted changes: /q/submissionid:20961419-deviceconfig-restrict
      
      Change-Id: Ib6d4bac403e26a60401bebbb8c69f2abce6af6fe
      (cherry picked from commit 158097fe)
      Merged-In: Ib6d4bac403e26a60401bebbb8c69f2abce6af6fe
      c77534c8
    • Ted Bauer's avatar
      Revert "Add + enforce new DeviceConfig permissions." · 158097fe
      Ted Bauer authored
      Revert submission 20961419-deviceconfig-restrict
      
      Reason for revert: CTS breakage
      
      Reverted changes: /q/submissionid:20961419-deviceconfig-restrict
      
      Change-Id: Ib6d4bac403e26a60401bebbb8c69f2abce6af6fe
      158097fe
  25. Feb 14, 2023
    • Ted Bauer's avatar
      Add + enforce new DeviceConfig permissions. · e8eb9f8d
      Ted Bauer authored
      Adds these new permissions, and grants them to `adb`:
      - `ALLOWLISTED_WRITE_DEVICE_CONFIG`
      - `READ_WRITE_SYNC_DISABLED_MODE_CONFIG`
      
      Uses `ALLOWLISTED_WRITE_DEVICE_CONFIG` to restrict writing flags to
      DeviceConfig unless they are explicitly allowlisted.
      
      Revokes `WRITE_DEVICE_CONFIG` from `adb`, and grants it
      `ALLOWLISTED_WRITE_DEVICE_CONFIG`.
      
      Bug: 251818659
      Test: m
      Change-Id: I0d6784a9437e0b0344f47d13dab0f838f63eaded
      e8eb9f8d
    • Simon Bowden's avatar
      Introduce a per-call wait for performHapticFeedback benchmark (excluded · 44424b62
      Simon Bowden authored
      from the timing).
      
      This is needed to ensure the oneway queue isn't overwhelmed, now that the
      call is non-blocking.
      
      Bug: 267591473
      Test: atest
      Change-Id: I99a61e0beae63361f74b64565d3d1efe458131bd
      44424b62
  26. Feb 10, 2023
    • Philip Quinn's avatar
      Update MotionPredictorBenchmark. · fb5f9b86
      Philip Quinn authored
      * Use realistic durations and moving events to ensure the model is
        fully exercised.
      * The requested prediction time is only a target, and it is valid for
        predictions to fall short of it.
      
      com.android.perftests.core (2 Tests)
      [1/2] android.input.MotionPredictorBenchmark#timeRecordAndPredict: PASSED (8.392s)
      	perfetto_file_path: /sdcard/test_results/android.input.MotionPredictorBenchmark_timeRecordAndPredict/PerfettoListener/perfetto_android.input.MotionPredictorBenchmark_timeRecordAndPredict-1.perfetto-trace
      	timeRecordAndPredict_mean (ns): 84059
      	timeRecordAndPredict_median (ns): 82093
      	timeRecordAndPredict_min (ns): 77361
      	timeRecordAndPredict_standardDeviation: 5402
      [2/2] android.input.MotionPredictorBenchmark#timeCreatePredictor: PASSED (7.650s)
      	perfetto_file_path: /sdcard/test_results/android.input.MotionPredictorBenchmark_timeCreatePredictor/PerfettoListener/perfetto_android.input.MotionPredictorBenchmark_timeCreatePredictor-1.perfetto-trace
      	timeCreatePredictor_mean (ns): 104809
      	timeCreatePredictor_median (ns): 105000
      	timeCreatePredictor_min (ns): 101148
      	timeCreatePredictor_standardDeviation: 2837
      
      Bug: 167946763
      Test: atest MotionPredictorBenchmark
      Change-Id: I2861a2f377a34eff6571a6ecdc4a34c46fcd753b
      fb5f9b86
    • felkachang's avatar
      Change the owners of Android Resources and Overlay files · b52ad37d
      felkachang authored
      This patch adds
      * file:/core/java/android/content/res/OWNERS as the owner of
          src/android/content/res/*
      * file:/core/java/android/content/om/OWNERS as the owner of
          src/android/content/om/*
      
      Test: change owner only.
      Bug: 177360157
      Change-Id: Ib8386b0c883f747b31b44eb26a23ed577cda054e
      b52ad37d
  27. Feb 02, 2023
    • Jackson Michael's avatar
      Renaming new start user tests · e00d1dd4
      Jackson Michael authored
      Renaming the start user tests to make clear that it was "started twice/once before in the past, and now we're timing the next start".
      
      Bug: 266555909
      Test: atest UserLifecycleTests#startUser_startedOnceBefore
      Test: atest UserLifecycleTests#startUser_startedTwiceBefore
      Test: atest UserLifecycleTests#startAndUnlockUser_startedTwiceBefore
      Change-Id: Ib92e1c69027d05c1dbee7ce6b3620e6e6f8ccc7e
      e00d1dd4
  28. Feb 01, 2023
    • Jackson Michael's avatar
      Adding startUser tests without removing user at the end · 4647abef
      Jackson Michael authored
      When we create a user, the default is that we ask to initialize it whenever we change from one user to another, without removing that user from Android.
      These tests will serve to demonstrate the execution time in the common case of using the start user.
      
      Results:
      startUser_uninitializedUser Mean (ms): 2026.75
      startUser_startOnceBefore Mean (ms): 924.75
      
      startUser_startTwiceBefore Mean (ms): 438.0
      
      startAndUnlockUser Mean (ms): 2032.75
      startAndUnlockUser_startTwiceBefore Mean (ms): 1134.25
      
      switchUser_stopped Mean (ms): 3095.75
      switchUser_stopped_realistic Mean (ms): 2403.25
      
      Bug: 266192048
      Bug: 266555909
      Test: atest UserLifecycleTests#startUser_uninitializedUser
      Test: atest UserLifecycleTests#startUser_startOnceBefore
      Test: atest UserLifecycleTests#startUser_startTwiceBefore
      Test: atest UserLifecycleTests#startAndUnlockUser
      Test: atest UserLifecycleTests#startAndUnlockUser_startTwiceBefore
      Test: atest UserLifecycleTests#switchUser_stopped
      Test: atest UserLifecycleTests#switchUser_stopped_realistic
      Change-Id: I1157431eb7f13b21ba2fd230e1148cd5eb09724e
      4647abef
  29. Jan 27, 2023
    • Jackson Michael's avatar
      Change test name of switchUser_running_realistic · 4c8f4572
      Jackson Michael authored
      Changing test name to test whether this test's data history will be reset after change.
      
      Bug: 266557361
      Test: atest UserLifecycleTest#switchUser_running_initializedUser
      Change-Id: I8b7beab7de25dab7ab63d750225d4dc281816aeb
      4c8f4572
  30. Jan 20, 2023
    • João Victor Mendes Freire's avatar
      Add remaining UserLifecycleTests realistic version · 1eb7afcf
      João Victor Mendes Freire authored
      Previously, realistic versions of switchUser, createUser, startUser and
      stopUser were added. This commit adds the remaining versions.
      The tests were run locally, and some showed no significant changes, and
      others improved mean times up to 10% (not enough data to estimate std
      deviance difference).
      
      Bug: 261621873
      Test: atest UserLifecycleTests
      Change-Id: I76f6e87edada4561ac967efde44526e72955e2e3
      1eb7afcf
    • Seigo Nonaka's avatar
      Add perf test for Korean phrase line break · 656e8fca
      Seigo Nonaka authored
      Here is an example of minimum score (ns) on the Pixel 5
        Short Text,     Regular line break:   131,025
        Short Text,     Phrase line break :   132,650
        Long Text,      Regular line break: 1,145,408
        Long Text,      Phrase line break : 1,083,803
        Long Long Text, Regular line break: 3,957,686
        Long Long Text, Phrase line break : 3,520,376
      
      Bug: 266152097
      Test: atest
      
      Change-Id: Id3f789a75eb11c50e144e1fbd4b8ceff24924a27
      656e8fca
  31. Jan 16, 2023
    • João Victor Mendes Freire's avatar
      Add test with static wallpaper for switchUser · d9938b87
      João Victor Mendes Freire authored
      Current test implementations depend on the test device default
      wallpaper. Some devices use LiveWallpapers and some use ImageWallpapers,
      so this test aims to make it easier to identify if a regression occured
      because of the switchUser operation or due to a slower wallpaper on
      certain devices.
      
      Bug: 265011565
      Test: atest UserLifecycleTests
      Change-Id: Ia587b97cd672f76f9a20481124f47840de9fd331
      d9938b87
    • Seigo Nonaka's avatar
      Add JP phrase perf test case · 2ab63a0f
      Seigo Nonaka authored
      Bug: 265367022
      Test: atest StaticLayoutPerfTest
      Change-Id: I54eec5b45b9d7aa69e86b4fb1e1ff51999ad0d46
      2ab63a0f
Loading