discard Div2PerformanceTest in favor of Div2MultiplatformPerformanceTest

commit_hash:e7f411dc30e7f76e87a2d8284bd560cf62adc74e
This commit is contained in:
i-ts
2025-10-20 15:21:08 +03:00
parent f8be0e4a41
commit 11aefb4d53
8 changed files with 11 additions and 97907 deletions
-3
View File
@@ -1725,8 +1725,6 @@
"client/android/divkit-demo-app/src/main/assets/application/menu-land.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/application/menu-land.json",
"client/android/divkit-demo-app/src/main/assets/application/menu.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/application/menu.json",
"client/android/divkit-demo-app/src/main/assets/application/settings.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/application/settings.json",
"client/android/divkit-demo-app/src/main/assets/div2-perf/benchmark-with-templates.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/div2-perf/benchmark-with-templates.json",
"client/android/divkit-demo-app/src/main/assets/div2-perf/benchmark-without-templates.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/div2-perf/benchmark-without-templates.json",
"client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-multiple-structure-changes.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-multiple-structure-changes.json",
"client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-no-structure-changes.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-no-structure-changes.json",
"client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-original-layout.json":"divkit/public/client/android/divkit-demo-app/src/main/assets/div2-perf/rebind-original-layout.json",
@@ -13021,7 +13019,6 @@
"client/android/divkit-perftests/src/androidTest/java/com/yandex/divkit/perftests/CompileBaselineProfileUtils.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/divkit/perftests/CompileBaselineProfileUtils.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/divkit/perftests/Utils.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/divkit/perftests/Utils.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2BasePerformanceTest.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2BasePerformanceTest.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2MultiplatformPerformanceTest.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2MultiplatformPerformanceTest.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2PerformanceTest.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2PerformanceTest.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2RebindPerformanceTest.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2RebindPerformanceTest.kt",
"client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2RecyclingPerformanceTest.kt":"divkit/public/client/android/divkit-perftests/src/androidTest/java/com/yandex/morda/perftests/div/Div2RecyclingPerformanceTest.kt",
@@ -94,8 +94,8 @@ internal class HistogramsAwaiter(private val expectedHistograms: Set<String>) {
private fun createIntent(): Intent {
return Intent()
.putExtra(EXTRA_ASSET_NAME, "div2-perf/benchmark-with-templates.json")
.putExtra(EXTRA_REBIND_ASSET_NAME, "div2-perf/benchmark-with-templates.json")
.putExtra(EXTRA_ASSET_NAME, "perf_test_data/with_templates.json")
.putExtra(EXTRA_REBIND_ASSET_NAME, "perf_test_data/with_templates.json")
}
private val COLD_WARM_HISTOGRAMS = setOf(
@@ -1,122 +0,0 @@
package com.yandex.morda.perftests.div
import androidx.test.uiautomator.By
import androidx.test.uiautomator.Until
import com.yandex.divkit.perftests.DIV_BENCHMARK_ACTIVITY
import com.yandex.divkit.perftests.PACKAGE_NAME
import com.yandex.divkit.perftests.divBenchmarkActivityExtras
import com.yandex.divkit.perftests.report
import com.yandex.divkit.perftests.startActivity
import com.yandex.perftests.runner.PerfTest
import com.yandex.perftests.runner.PerfTestParameter
import org.junit.Before
import org.junit.Test
@PerfTest(
packageName = PACKAGE_NAME,
description = "Div2 multiplatform performance test",
owners = ["vyaivanove"],
defaultRepeat = 50,
timeoutSeconds = 4000
)
class Div2MultiplatformPerformanceTest : Div2BasePerformanceTest() {
@Before
fun setUp() {
utils.forceStop()
}
@PerfTestParameter(
importantMetrics = [
"Div.Parsing.Total.Cold",
"Div.Parsing.Total.Warm",
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Render.Total.Cold",
"Div.Render.Total.Warm",
]
)
@Test
fun expressions() = run("expressions")
@PerfTestParameter(
importantMetrics = [
"Div.Parsing.Total.Cold",
"Div.Parsing.Total.Warm",
"Div.Parsing.Data.Cold",
"Div.Parsing.Data.Warm",
"Div.Binding.Cold",
"Div.Render.Total.Cold",
]
)
@Test
fun prototypes() = run("prototypes")
@PerfTestParameter(
importantMetrics = [
"Div.Parsing.Total.Cold",
"Div.Parsing.Total.Warm",
"Div.Parsing.Data.Cold",
"Div.Parsing.Data.Warm",
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Render.Total.Cold",
"Div.Render.Total.Warm",
]
)
@Test
fun withTemplates() = run("with_templates")
@PerfTestParameter(
importantMetrics = [
"Div.Parsing.JSON.Cold",
//"Div.Parsing.JSON.Warm", // Generates unstable results at some perf-tests.
"Div.Parsing.Total.Cold",
"Div.Parsing.Total.Warm",
"Div.Parsing.Data.Cold",
"Div.Parsing.Data.Warm",
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Render.Total.Cold",
"Div.Render.Total.Warm",
]
)
@Test
fun withoutTemplates() = run("without_templates")
private fun run(testName: String) {
utils.run {
report(packageName = PACKAGE_NAME, tag = testName) {
startActivity(
packageName = PACKAGE_NAME,
activityClass = DIV_BENCHMARK_ACTIVITY,
extras = divBenchmarkActivityExtras(
assetName = "perf_test_data/$testName.json"
),
waitCondition = Until.findObject(By.textContains("Finished"))
)
}
waitAllMetrics(
"Div.Parsing.JSON.Cold",
"Div.Parsing.JSON.Warm",
"Div.Parsing.Total.Cold",
"Div.Parsing.Total.Warm",
"Div.Parsing.Data.Cold",
"Div.Parsing.Data.Warm",
"Div.Context.Create.Cold",
"Div.View.Create.Cold",
"Div.View.Create.Warm",
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Render.Measure.Cold",
"Div.Render.Measure.Warm",
"Div.Render.Layout.Cold",
"Div.Render.Layout.Warm",
"Div.Render.Draw.Cold",
"Div.Render.Draw.Warm",
"Div.Render.Total.Cold",
"Div.Render.Total.Warm",
)
}
}
}
@@ -28,6 +28,7 @@ class Div2PerformanceTest : Div2BasePerformanceTest() {
@PerfTestParameter(
importantMetrics = [
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Parsing.Data.Cold",
"Div.Parsing.Data.Warm",
"Div.Parsing.JSON.Cold",
@@ -47,7 +48,7 @@ class Div2PerformanceTest : Div2BasePerformanceTest() {
packageName = PACKAGE_NAME,
activityClass = DIV_BENCHMARK_ACTIVITY,
extras = divBenchmarkActivityExtras(
assetName = "div2-perf/benchmark-with-templates.json"
assetName = "perf_test_data/with_templates.json"
),
waitCondition = Until.findObject(By.textContains("Finished"))
)
@@ -81,8 +82,9 @@ class Div2PerformanceTest : Div2BasePerformanceTest() {
@PerfTestParameter(
importantMetrics = [
//"Div.Binding.Cold", // Generates unstable results at some perf-tests.
//"Div.Parsing.Data.Cold", // Generates unstable results at some perf-tests.
"Div.Binding.Cold",
"Div.Binding.Warm",
"Div.Parsing.Data.Cold",
//"Div.Parsing.Data.Warm", // Generates unstable results at some perf-tests.
"Div.Parsing.JSON.Cold",
//"Div.Parsing.JSON.Warm", // Generates unstable results at some perf-tests.
@@ -100,7 +102,7 @@ class Div2PerformanceTest : Div2BasePerformanceTest() {
packageName = PACKAGE_NAME,
activityClass = DIV_BENCHMARK_ACTIVITY,
extras = divBenchmarkActivityExtras(
assetName = "div2-perf/benchmark-without-templates.json"
assetName = "perf_test_data/without_templates.json"
),
waitCondition = Until.findObject(By.textContains("Finished"))
)
@@ -22,7 +22,7 @@ import org.junit.Test
timeoutSeconds = 3000
)
class Div2RecyclingPerformanceTest : Div2BasePerformanceTest() {
private var assets = arrayOf("div2-perf/benchmark-with-templates.json")
private var assets = arrayOf("perf_test_data/with_templates.json")
@Before
fun setUp() {
@@ -39,7 +39,7 @@ class DivStorageCardsLoadTest: Div2BasePerformanceTest() {
packageName = PACKAGE_NAME,
activityClass = DIV_STORAGE_BENCHMARK_ACTIVITY,
extras = divStorageBenchmarkActivityExtras(
assetNames = arrayOf("div2-perf/benchmark-with-templates.json",
assetNames = arrayOf("perf_test_data/with_templates.json",
"div2-perf/state-benchmark-multiple-change.json"),
prohibitedHistograms = arrayOf("Storage.Templates.Load",
"com.yandex.divkit.demo.Storage.Templates.Parsing",
@@ -70,7 +70,7 @@ class DivStorageCardsLoadTest: Div2BasePerformanceTest() {
packageName = PACKAGE_NAME,
activityClass = DIV_STORAGE_BENCHMARK_ACTIVITY,
extras = divStorageBenchmarkActivityExtras(
assetNames = arrayOf("div2-perf/benchmark-without-templates.json",
assetNames = arrayOf("perf_test_data/without_templates.json",
"div2-perf/state-benchmark-multiple-change.json"),
prohibitedHistograms = arrayOf("Storage.Templates.Load",
"Storage.Templates.Parsing",