scala - 类型推断有多昂贵?

标签 scala

我绝对对 Scala 类型推理引擎感到非常兴奋,但在现实世界的环境中:

  • 它的性能下降有多大?
  • 何时在编译时或运行时推断类型?
  • 最佳答案

    Scala 精心设计且功能强大的类型仅在编译期间存在 (*):它们从源代码(您提供它们的地方)解析、推断、检查,然后最后被丢弃。最后一个听起来可能很荒谬,但它是 JVM 的操作方式(参见 type erasure),从语言设计者的角度来看非常有用。

    因此,要回答您的问题:在运行时,类型是显式给出还是推断出没有区别,唯一的区别在于编译程序所需的时间。

    (*) 2.10 版本将附带一个反射库,允许程序在运行时访问其类型信息;这提供了更多的自由——如果使用它当然会在运行时消耗 CPU 周期——但不会改变上述任何一点。

    关于scala - 类型推断有多昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784972/

    相关文章:

    multithreading - 在主线程上等待回调方法

    scala - Scala 并发模型上下文中的 Clojure future

    scala - 如何缩小状态机编码中上限类型参数的类型?

    Scala 宏 : Accessing members with quasiquotes

    Scala:指类的嵌套类型,它作为泛型的类型参数出现

    json - Play Json 添加类中不存在的字段

    scala 函数比较案例类的字段并收集差异

    scala - 关闭 Scala 秋千架

    scala - 如何在akka中使用发送者ActorRef

    scala - 尝试使用 Scalatra 编译项目但失败