1
ラーメン関数でローカル変数を使用するとき、私はスケーリングを学習しているので、最適化について疑問を抱いていました。例えばスカラーラムダ関数とローカル変数
次のコード:
val My_List = l.map{x =>
val a = coomplexFun(x.attr_1, x.attr_2) ;
(x.attr_1, doSomthing(a))
}
は、それは同等です:
val My_List = l.map{x =>
(x.attr_1, doSomthing(coomplexFun(x.attr_1, x.attr_2)))
}
または、いくつかの余分なメモリ割り当てのコストはありますか?
Scalaのすべての実装にJITがあるわけではありません。実際、Scalaの実装にはJITがありません。 Scala-nativeは、ネイティブのマシンコードにコンパイルする静的なAOTコンパイラです。 Scala.jsは静的なAOTコンパイラで、ECMAScriptソースコードにコンパイルされます。そのコードは、JITを備えた実行エンジン上で実行されても実行されなくてもよい。 Scala-JVMは、JVMLバイトコードにコンパイルする静的AOTコンパイラです。そのバイトコードは、JITを備えた実行エンジン上で実行されても実行されなくてもよい。例えば。 Excelsior JET JVMにはJITがありません。また、JVMのバイトコードをAndroidのバイトコードにコンパイルして、... –
... JITを持たないARTによって実行されます。 –