我有阻止sqs侦听器的功能,该监听器从sqs获取消息,进行一些处理(可能是消息验证或充实),将处理后的消息存储在DB中,从sqs中清除消息。我计划使用Kotlin协程以不阻塞的方式编写整个sqs侦听器。我的问题是,如何测量我的旧方法和新的基于协程的方法之间的性能(吞吐量,cpu使用率,线程使用率)?
我的协程方法的源代码:https://github.com/thiyagu06/reactive-sqs-processor
性能测试的思想是验证与基于传统执行程序的方法相比,基于协程的方法可为我提供可观的性能(可能是较低的cpu使用率)。
最佳答案
您可以使用BenchmarkRule
的Jetpack Benchmark Libray
部分轻松编写Tests
来衡量代码性能。这是一个例子:
@get:Rule
val benchmarkRule = BenchmarkRule()
@Test
fun codeMeasurement() {
benchmarkRule.measureRepeated {
//Paste the code inside of coroutine here
}
}
有关更多信息,请阅读this post。
关于kotlin - 衡量Kotlin协程的性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58463350/