【发布时间】:2015-12-11 23:17:14
【问题描述】:
有一些关于 Java 的等效问题的答案,但是 scala 反射(2.11,TypeTags)真的很慢吗?在http://docs.scala-lang.org/overviews/reflection/overview.html 上有一篇关于它的长篇叙述性文章,很难提取这个问题的答案。
我看到很多关于避免反射的建议,其中一些建议早于 2.11 的改进,但如果效果良好,它看起来可以解决 JVM 类型擦除的弱点,对于 scala 代码。
谢谢!
【问题讨论】:
-
通过反射调用方法(在 Java 或 Scala 中)比直接调用方法要慢得多,因为在运行时需要做更多的工作 - 查找方法、解析方法等,如果不是必要,不要使用反射。
-
您是否正在解决查找对象方法然后调用一个对象的情况?它与类型标签或类型恢复有何关系?
-
您能否提供一些 TypeTags 使用示例,您关心性能的地方?有些用法很快,有些很慢,讨论每种可能用法的答案似乎很难预料(会太长)。
标签: scala