代码之家  ›  专栏  ›  技术社区  ›  adelarsq

用Scala进行代码优化

  •  5
  • adelarsq  · 技术社区  · 14 年前

    为了提高执行速度,Scala的哪些结构可以比Java更有效地使用?我不知道这是否可能,但为了澄清我的疑虑:)

    谢谢

    4 回复  |  直到 14 年前
        1
  •  9
  •   Ross Judson    14 年前

    scala@specialized注释可以生成一个类的多个版本,并使用特定的基元类型进行微调。你可以用Java写出来,但你可能不想写。

        2
  •  6
  •   Joshua Hartman    14 年前

    要进一步了解Ross的答案,可以使用@specialized生成集合的特定版本。例如,在Java中,您通常使用 fastutil Apache Primitives 用于原语集合。Scala的@specialized将为您生成这些变量并自动隐藏它们,如下所示:

    class MyLinkedList[@specialized T] (args: T*) {
      // whatever it does
    }
    

    this ScalaDays talk 为了这件事的细节。

        3
  •  6
  •   Dave Griffith    14 年前

    一般来说,Scala基准测试的速度从比Java稍慢到稍快不等,这取决于问题和编码技术。

        4
  •  2
  •   Alex Cruise    14 年前

    我将避免猜测最终的性能可能与等效的Java构造有何不同,但Scala确实如此 closure elimination ,这可能会产生可测量的差异,模热点技巧。

    也请继续关注 Iulian's thesis 它应该很快就会发布,并将提供更多关于Scala优化主题的信息。