测量kotlin协同程序性能

测量kotlin协同程序性能,kotlin,amazon-sqs,kotlin-coroutines,Kotlin,Amazon Sqs,Kotlin Coroutines,我有一个阻塞的sqs侦听器,它从sqs获取消息,进行一些处理(可能是消息验证或充实),将处理过的消息存储在DB中,清理来自sqs的消息。我计划使用Kotlin协程以非阻塞方式编写整个sqs侦听器。我的问题是,如何在旧方法和新的基于协同路由的方法之间衡量性能(吞吐量、cpu使用率、线程使用率) 我的协同程序方法的源代码: 性能测试的目的是验证我基于协同程序的方法是否能提供相当高的性能(可能是cpu使用率较低)与传统的基于执行器的方法相比。您可以使用Jetpack基准库的部分来轻松编写测试来衡量代码

我有一个阻塞的sqs侦听器,它从sqs获取消息,进行一些处理(可能是消息验证或充实),将处理过的消息存储在DB中,清理来自sqs的消息。我计划使用Kotlin协程以非阻塞方式编写整个sqs侦听器。我的问题是,如何在旧方法和新的基于协同路由的方法之间衡量性能(吞吐量、cpu使用率、线程使用率)

我的协同程序方法的源代码:


性能测试的目的是验证我基于协同程序的方法是否能提供相当高的性能(可能是cpu使用率较低)与传统的基于执行器的方法相比。

您可以使用
Jetpack基准库
部分来轻松编写
测试来衡量代码性能。以下是一个例子:

@get:Rule
val benchmarkRule = BenchmarkRule()

@Test
fun codeMeasurement() {
    benchmarkRule.measureRepeated {
        //Paste the code inside of coroutine here
    }
}
欲了解更多信息,请阅读