如何基准Kotlin计划?

有没有可用的工具可以帮助基准Kotlin的一些代码?

我可以使用类似于这里建议的方法: http : //www.ibm.com/developerworks/java/library/j-benchmark1/index.html – 但我想知道是否有任何Kotlin本地工具,所以我不一定要重新发明轮子!

3 Solutions collect form web for “如何基准Kotlin计划?”

基准使用JMH 。 这个框架可以帮助您编写最相关的基准测试,并了解JVM如何工作。 github上有旧的项目,但我希望你可以更新版本,你好。

所有低级别的基准测试工具都与您使用Java的相同,因为字节码是相同的。

如果“Kotlin本地工具”是指测量(相对)性能的语法糖,则stdlib提供了measureTimeMillismeasureNanoTime

 fun main(args: Array) { val benchmark = measureNanoTime { // some slow code here } } 

由于显而易见的原因,结果可能因运行而异,但可能有助于估计相对性能。

这里是一个简单的Kotlin微观基准测试工具: https : //gist.github.com/olegcherr/b62a09aba1bff643a049

用法很简单:

 simpleMeasureTest { // your code for the benchmark } 

你也可以配置测试,例如:

 simpleMeasureTest(ITERATIONS = 1000, TEST_COUNT = 10, WARM_COUNT = 2) { // your code for the benchmark } 

运行这个代码后,进入控制台。 输出将如下所示:

 I/System.out: [TimeTest] -> go I/System.out: [TimeTest] Warming 1 of 2 I/System.out: [TimeTest] Warming 2 of 2 I/System.out: [TimeTest] 770ms I/System.out: [TimeTest] 784ms I/System.out: [TimeTest] 788ms I/System.out: [TimeTest] 881ms I/System.out: [TimeTest] 802ms I/System.out: [TimeTest] 794ms I/System.out: [TimeTest] 789ms I/System.out: [TimeTest] 786ms I/System.out: [TimeTest] 750ms I/System.out: [TimeTest] 762ms I/System.out: [TimeTest] -> average=790ms / median=788ms 

为了让你的生活更轻松,创建一个新的控制台输出filter。 这是我在Android Studio中的filter:

在这里输入图像说明

  • 函数返回Kotlin中的临时对象
  • Kotlin Spring Boot使用Map创建urlencoded POST请求
  • 地图在Firebase onDataChange在Kotlin
  • 无法在Kotlin中打印多个布尔值
  • 是否有可能将数据类的实例解构成类的属性?
  • 在Kotlin中的Lambdaexpression式
  • 用Kotlin完成另一个Android的活动
  • 替换第一个正则expression式匹配组而不是第0个
  • Kotlin for每个订单
  • 引用扩展function?
  • 在Android工作室Kotlin
  • Kotlin language will be the best programming language for Android.