본문 바로가기

Java

BigDecimal과 기본형

난 정수가 아닌 소수점 계산이 필요 할 때
거의 대부분에 있어서 BigDecimal을 사용한다.

결과를 예측하기 쉽고
의도대로 계산식을 구현하기 쉽고
정확하게 나오기 때문에..

이번에 데이터 마이닝 (물론 아주 기초적인 마이닝이지만...)을 하면서도
당연히 BigDecimal을 사용했다.

뭐 느려봐야 얼마나 느리겠어.. 라고 생각하고 있다가..

이번에 속도를 좀 개선하면서
BigDecimal을 double형으로 바꿨더니
속도가 상당히 빨라졌다.

약 3-6배는 빨라진 것 같다.

멀티스레드로 바꾸면서 개선되었던 속도만큼 빨라진듯..

뭐 double, float이라는게 계산을 빠르게 근사치로 하기 위해서
만들어졌다고 하니.... 메모리 사용도 줄어들었을테고..

아무튼..
대용량처리에서는
정확한 값이 필요한 경우가 아니면
그냥 기본형을 사용하자...