Calendarインスタンスの取得コストはDateの10倍高いらしい | Go The Distance

Calendarインスタンスの取得コストはDateの10倍高いらしい

izu@SanFranciscoの下記エントリより。


Calendarオブジェクトを100000個作るよりも、Dataオブジェクトを100000個作る方が10倍から30倍は早かった。


これを解決するライブラリがあるよってのが上記エントリの趣旨です。


でもって、実際のソースの流れはこうなっているらしい。

出典元:The cost of Calendar object creation


-------------------

◆Calendar c = Calendar.getInstance();
* createCalendar(TimeZone.getDefault(), Locale.getDefault());
* new GregorianCalendar(zone, aLocale)
* super(zone, aLocale);
* setTimeInMillis(System.currentTimeMillis());
* computeFields();
* computeFieldsImpl()
* timeToFields
* internalSet x 6
* internalSet x 8

◆Date d = new Date();
* this(System.currentTimeMillis());
* long fastTime = date;

-------------------


どう見ても高コストです。本当にありがとうございました。