我有阻止sqs侦听器的功能,该监听器从sqs获取消息,进行一些处理(可能是消息验证或充实),将处理后的消息存储在DB中,从sqs中清除消息。我计划使用Kotlin协程以不阻塞的方式编写整个sqs侦听器。我的问题是,如何测量我的旧方法和新的基于协程的方法之间的性能(吞吐量,cpu使用率,线程使用率)?

我的协程方法的源代码:https://github.com/thiyagu06/reactive-sqs-processor

性能测试的思想是验证与基于传统执行程序的方法相比,基于协程的方法可为我提供可观的性能(可能是较低的cpu使用率)。

最佳答案

您可以使用BenchmarkRuleJetpack 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/

10-11 22:46
查看更多