タグ

ブックマーク / xuwei-k.hatenablog.com (2)

  • Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ) - xuwei-k's blog

    結論から言うと、Scalaでも以下と同じように頑張るようになるんやで、なので2.12以降はSAMかつ純粋なシングルトンにできる場合は、明示的にnewしないほうが効率いいかもしれないよ、という話 https://twitter.com/orekyuu/status/790753654114357248 このプログラムを実行したときの出力はなんでしょう?1. truetrue2. falsefalse3. falsetrue4. truefalse URL 2016-10-25 12:15:37 via Twitter Web Client @orekyuu falsefalseになると思いきやラムダ式の方だけ消えずに答えは4になります URL 2016-10-25 12:23:37 via Twitter Web Client to @orekyuu @orekyuu ラムダは内部でキャプチ

    Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ) - xuwei-k's blog
  • Scalaにおける細かい最適化のプラクティス - xuwei-k's blog

    列挙順自体はとくに意味ありません。あと「どの最適化がどのくらい速くなるのか?」を詳細に計ったことはないですし、「原理的にこうなってるから(ry」というのを説明するに過ぎません。中には「JITで無意味になるようなどうでもいい細かすぎること」も書いてありますし、最適化のトレードオフとして失うものもあるので、そのあたり自己責任でお願いします。当に最適化が必要とされる場合は、以下のものを無闇に実行するよりまず計測したほうがいいのは、言うまでもありません。*1 1. private[this]をつかえ scalaのvalやvarは、private[this]にしたときのみ、直接のフィールドアクセスになります(それ以外ではメソッド呼び出し)。シングルトンのobjectの場合も同様です。private[this]をつけられる場合はできるだけつけましょう 2. なんでもかんでもListをつかうな 最初の

    Scalaにおける細かい最適化のプラクティス - xuwei-k's blog
  • 1