こんにちは、アドテクエンジニアーのトデス子です。ふだんスカラを使っているのでスカラの話をします。 ScalaはJavaと同様、型パラメータを使用したコードは内部的にObject型を通して使用されます。 そのため、IntやDoubleといったプリミティブ型を指定した場合は boxing/unboxingのオーバーヘッドが発生します。 このオーバヘッドは多くの場合大した問題になりませんが、数値計算などの特定領域においては パフォーマンスのボトルネックになるケースがあります。 Scalaにおいては、@specializedアノテーションを使用することでこのオーバヘッドを軽減する機構があります。 この記事では、この機構の詳細と使用時の注意点などについて紹介します。 はじめに @specializedアノテーションについては公式なドキュメントがかなり乏しく、また将来的に挙動が変更される可能性がありま