メモ
alias objectsize='screpl com.twitter.common%objectsize%0.0.10 "twttr at http://maven.twttr.com/"'
べつにscrepl経由で使わなくてもいいけど。
普通にbuild.sbtに追加するなら以下
resolvers += "twitter" at "http://maven.twttr.com/" libraryDependencies += "com.twitter.common" % "objectsize" % "0.0.10"
同じ固定のオブジェクト返すなら、valよりdefのほうがフィールド(つまりオブジェクトのポインタを格納する領域)が生成されない分、1インスタンスあたりのメモリ使用量少ないですよ、とかそういうのを確かめるのに使えます
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05). Type in expressions to have them evaluated. Type :help for more information. scala> class A{def a = "a"} defined class A scala> com.twitter.common.objectsize.ObjectSizeCalculator.getObjectSize(new A) res0: Long = 16 scala> class B{val b = "b"} defined class B scala> com.twitter.common.objectsize.ObjectSizeCalculator.getObjectSize(new B) res1: Long = 64