gpt4 book ai didi

function - 如何在 Scala 中分析方法?

转载 作者:行者123 更新时间:2023-12-03 04:38:42 26 4
gpt4 key购买 nike

分析 Scala 方法调用的标准方法是什么?

我需要的是一个方法周围的钩子(Hook),我可以用它来启动和停止计时器。

在Java中,我使用切面编程aspectJ来定义要分析的方法并注入(inject)字节码来实现相同的目的。

Scala 中是否有一种更自然的方法,我可以定义一堆在函数之前和之后调用的函数,而不会在过程中丢失任何静态类型?

最佳答案

您想在不更改要测量计时的代码的情况下执行此操作吗?如果您不介意更改代码,那么您可以执行以下操作:

def time[R](block: => R): R = {
val t0 = System.nanoTime()
val result = block // call-by-name
val t1 = System.nanoTime()
println("Elapsed time: " + (t1 - t0) + "ns")
result
}

// Now wrap your method calls, for example change this...
val result = 1 to 1000 sum

// ... into this
val result = time { 1 to 1000 sum }

关于function - 如何在 Scala 中分析方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com