mirror of
https://github.com/android-password-store/Android-Password-Store
synced 2025-08-29 13:27:46 +00:00
refactor(app): switch logExecutionTime
to kotlin.time.measureTime
This commit is contained in:
parent
c866bb9fb1
commit
eb5e9bdffa
@ -4,26 +4,19 @@
|
||||
package app.passwordstore.util
|
||||
|
||||
import android.os.Looper
|
||||
import android.os.SystemClock
|
||||
import kotlin.time.ExperimentalTime
|
||||
import kotlin.time.measureTime
|
||||
import logcat.logcat
|
||||
|
||||
/**
|
||||
* Small helper to execute a given [block] and log the time it took to execute it. Intended for use
|
||||
* in day-to-day perf investigations and code using it should probably not be shipped.
|
||||
*/
|
||||
suspend fun <T> logExecutionTime(tag: String, block: suspend () -> T): T {
|
||||
val start = SystemClock.uptimeMillis()
|
||||
val res = block()
|
||||
val end = SystemClock.uptimeMillis()
|
||||
logcat(tag) { "Finished in ${end - start}ms" }
|
||||
return res
|
||||
}
|
||||
|
||||
fun <T> logExecutionTimeBlocking(tag: String, block: () -> T): T {
|
||||
val start = SystemClock.uptimeMillis()
|
||||
val res = block()
|
||||
val end = SystemClock.uptimeMillis()
|
||||
logcat(tag) { "Finished in ${end - start}ms" }
|
||||
@OptIn(ExperimentalTime::class)
|
||||
inline fun <T> logExecutionTime(tag: String, crossinline block: () -> T): T {
|
||||
val res: T
|
||||
val duration = measureTime { res = block() }
|
||||
logcat(tag) { "Finished in ${duration.inWholeMilliseconds}ms" }
|
||||
return res
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user