我最近一直在研究各种 scala 日志库,其中绝大多数都将日志功能实现为
def debug(s: => String)
因此,如果您关闭了调试日志记录,它将不会执行该语句。但是,我刚刚遇到了logula,它特别指出它的好处之一
与许多 Scala 日志库不同,Logula 的日志语句不使用按名称传递的语义(例如,f: => A),这意味着两件事:
- Scala 编译器不必为每个日志记录语句创建一次性闭包对象。这应该可以减少垃圾收集的压力。
这对我来说真的很有意义。所以我的问题是,是否有任何现实世界的性能基准/数据比较这两种方法?理想情况下来自现场项目的东西与人为的基准?