Performance Scala度量编译时间

Performance Scala度量编译时间,performance,scala,performance-testing,profiler,Performance,Scala,Performance Testing,Profiler,在Scala中,我需要分析同一文件的几个不同版本的编译时,这些版本在运行时将产生相同的输出 例如: time scalac foo1.scala 0m6.002s 0m5.784s 0m6.212s 似乎就是这么做的,但我以前从来没有做过这样的事情,而且说明似乎对初学者不太友好。如果我不能让它工作,我可能会使用它,但我认为宏编译基准只测量解析和类型检查所需的时间,而不是编译整个文件所需的时间 理想情况下,我想知道从第一个编译阶段(解析器)到最后一个阶段(生成JVM字节码)需要

在Scala中,我需要分析同一文件的几个不同版本的编译时,这些版本在运行时将产生相同的输出

例如:

time scalac foo1.scala
  • 0m6.002s

  • 0m5.784s

  • 0m6.212s

似乎就是这么做的,但我以前从来没有做过这样的事情,而且说明似乎对初学者不太友好。如果我不能让它工作,我可能会使用它,但我认为宏编译基准只测量解析和类型检查所需的时间,而不是编译整个文件所需的时间


理想情况下,我想知道从第一个编译阶段(解析器)到最后一个阶段(生成JVM字节码)需要多少时间,不一定包括JVM“预热”时间。

你需要什么,你不能用一个由几个
时间
命令组成的shell脚本来度量编译,和
diff
命令来验证每个程序是否产生相同的输出?听起来不错!需要注意的一点是JVM可能需要时间来“加热”,但这听起来不错。
time scalac foo2.scala
time scalac foo3.scala