diff --git a/benchmarks/ios/visual-effects-ny/shared/src/androidMain/kotlin/platform/NanoTime.kt b/benchmarks/ios/visual-effects-ny/shared/src/androidMain/kotlin/platform/NanoTime.kt index ebfd7e4ac62..55e2b65c61c 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/androidMain/kotlin/platform/NanoTime.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/androidMain/kotlin/platform/NanoTime.kt @@ -1,3 +1,9 @@ package org.jetbrains.compose.demo.visuals.platform -actual fun nanoTime(): Long = System.nanoTime() \ No newline at end of file +import kotlin.system.exitProcess + +actual fun nanoTime(): Long = System.nanoTime() + +actual fun measureTime() = nanoTime() + +actual fun exit(): Unit = exitProcess(0) \ No newline at end of file diff --git a/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/HappyNY.kt b/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/HappyNY.kt index 8871c6c1067..5dde0cf85c2 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/HappyNY.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/HappyNY.kt @@ -13,6 +13,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import kotlinx.coroutines.delay +import org.jetbrains.compose.demo.visuals.platform.exit +import org.jetbrains.compose.demo.visuals.platform.measureTime import org.jetbrains.compose.demo.visuals.platform.nanoTime import kotlin.math.* import kotlin.random.Random @@ -39,7 +42,9 @@ data class SnowFlake( data class Star(val x: Dp, val y: Dp, val color: Color, val size: Dp) -fun random(): Float = Random.nextFloat() +val random = Random(123) + +fun random(): Float = random.nextFloat() class DoubleRocket(val particle: Particle) { private val STATE_ROCKET = 0 @@ -66,12 +71,20 @@ class DoubleRocket(val particle: Particle) { } } + var numOfIterations = 1 + private fun reset() { state = STATE_ROCKET particle.x = 0.0 particle.y = 1000.0 particle.vx = 2.1 particle.vy = -12.5 + numOfIterations -=1 + if (numOfIterations == 0) { + println((measureTime() - measureTime)/1000000) + exit() + } + } private fun explode(time: Long) { @@ -222,8 +235,11 @@ fun prepareStarsAndSnowFlakes(stars: SnapshotStateList, snowFlakes: Snapsh } } +var measureTime: Long = 0 + @Composable fun NYContent() { + measureTime = measureTime() var time by remember { mutableStateOf(nanoTime()) } var startTime = remember { nanoTime() } var prevTime by remember { mutableStateOf(nanoTime()) } diff --git a/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/platform/NanoTime.kt b/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/platform/NanoTime.kt index 0fc90a38cae..5383ad4dee4 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/platform/NanoTime.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/commonMain/kotlin/platform/NanoTime.kt @@ -1,3 +1,6 @@ package org.jetbrains.compose.demo.visuals.platform -expect fun nanoTime(): Long \ No newline at end of file +expect fun nanoTime(): Long + +expect fun measureTime(): Long +expect fun exit(): Unit \ No newline at end of file diff --git a/benchmarks/ios/visual-effects-ny/shared/src/desktopMain/kotlin/platform/NanoTime.kt b/benchmarks/ios/visual-effects-ny/shared/src/desktopMain/kotlin/platform/NanoTime.kt index ebfd7e4ac62..6b4da718d75 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/desktopMain/kotlin/platform/NanoTime.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/desktopMain/kotlin/platform/NanoTime.kt @@ -1,3 +1,8 @@ package org.jetbrains.compose.demo.visuals.platform -actual fun nanoTime(): Long = System.nanoTime() \ No newline at end of file +import kotlin.system.exitProcess + +actual fun nanoTime(): Long = 0//System.nanoTime() + +actual fun measureTime() = System.nanoTime() +actual fun exit(): Unit = exitProcess(0) \ No newline at end of file diff --git a/benchmarks/ios/visual-effects-ny/shared/src/iosMain/kotlin/platform/NanoTime.kt b/benchmarks/ios/visual-effects-ny/shared/src/iosMain/kotlin/platform/NanoTime.kt index 334c22b7817..2044acd82d1 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/iosMain/kotlin/platform/NanoTime.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/iosMain/kotlin/platform/NanoTime.kt @@ -1,3 +1,8 @@ package org.jetbrains.compose.demo.visuals.platform -actual fun nanoTime(): Long = kotlin.system.getTimeNanos() \ No newline at end of file +import kotlin.system.exitProcess + +actual fun nanoTime(): Long = kotlin.system.getTimeNanos() + +actual fun measureTime() = nanoTime() +actual fun exit(): Unit = exitProcess(0) \ No newline at end of file diff --git a/benchmarks/ios/visual-effects-ny/shared/src/macosMain/kotlin/platform/NanoTime.kt b/benchmarks/ios/visual-effects-ny/shared/src/macosMain/kotlin/platform/NanoTime.kt index 334c22b7817..21a88b5512b 100644 --- a/benchmarks/ios/visual-effects-ny/shared/src/macosMain/kotlin/platform/NanoTime.kt +++ b/benchmarks/ios/visual-effects-ny/shared/src/macosMain/kotlin/platform/NanoTime.kt @@ -1,3 +1,8 @@ package org.jetbrains.compose.demo.visuals.platform -actual fun nanoTime(): Long = kotlin.system.getTimeNanos() \ No newline at end of file +import kotlin.system.exitProcess + +actual fun nanoTime(): Long = 0;//kotlin.system.getTimeNanos() + +actual fun measureTime() = kotlin.system.getTimeNanos() +actual fun exit(): Unit = exitProcess(0) \ No newline at end of file