kotlin - 衡量Kotlin协程的性能

标签 kotlin amazon-sqs kotlin-coroutines

我有阻止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/

相关文章:

android - Android上的AWS Cognito SDK,参数cognitoDevice Null导致登录崩溃

kotlin - 带 Volley 的异步协程

kotlin - 为什么 Kotlin 协程在同一个线程中顺序运行?

java - 尝试为 `coroutine`编写 `handler`模拟,但不起作用

android - 点击通知后如何打开特定屏幕?

android - 如何在 jetpack compose 中导航到另一个屏幕而不出现此问题?

java - OkHttp3无法在Android上开始握手

scala - 如何从AWS SQS读取流数据集?

amazon-web-services - 限制 Amazon SQS 队列中的传输消息数量

ruby-on-rails - 环境特定的 shoriken 配置