我怎样才能得到一个函数测试Kotlin函数性能的时间

我需要检查一个函数需要运行多久。 我有以下功能解决相同的任务:

mixAnimalsA

fun mixAnimalsA(a1: Animal, a2: Animal) = when (setOf(a1, a2)) { setOf(Animal.OWL, Animal.Leopard) -> Beast.OWLPARD setOf(Animal.ELEPHANT, Animal.BUTTERFLY) -> Beast.BUTTERPHANT else -> throw Exception("Not possible combination") } 

mixAnimalsB

 fun mixAnimalsB(a1: Animal, a2: Animal) = when (setOf(a1, a2)) { (c1 == Animal.OWL && c2 == Animal.Leopard) || (c2 == Animal.OWL && c1 == Animal.Leopard) -> Beast.OWLPARD (c1 == Animal.ELEPHANT && c2 == Animal.BUTTERFLY) || (c2 == Animal.ELEPHANT && c1 == Animal.BUTTERFLY)-> Beast.BUTTERPHANT else -> throw Exception("Not possible combination") } 

AnimalBeast是枚举。 我如何衡量每个函数运行多长时间?

如果您正在寻找代码解决方案,可以使用measureTimeMillismeasureNanoTime ,如下所示:

 val time = measureTimeMillis { // call your function here } 

他们分别返回毫秒和纳秒的测量时间。