난 정수가 아닌 소수점 계산이 필요 할 때
거의 대부분에 있어서 BigDecimal을 사용한다.
결과를 예측하기 쉽고
의도대로 계산식을 구현하기 쉽고
정확하게 나오기 때문에..
이번에 데이터 마이닝 (물론 아주 기초적인 마이닝이지만...)을 하면서도
당연히 BigDecimal을 사용했다.
뭐 느려봐야 얼마나 느리겠어.. 라고 생각하고 있다가..
이번에 속도를 좀 개선하면서
BigDecimal을 double형으로 바꿨더니
속도가 상당히 빨라졌다.
약 3-6배는 빨라진 것 같다.
멀티스레드로 바꾸면서 개선되었던 속도만큼 빨라진듯..
뭐 double, float이라는게 계산을 빠르게 근사치로 하기 위해서
만들어졌다고 하니.... 메모리 사용도 줄어들었을테고..
아무튼..
대용량처리에서는
정확한 값이 필요한 경우가 아니면
그냥 기본형을 사용하자...
거의 대부분에 있어서 BigDecimal을 사용한다.
결과를 예측하기 쉽고
의도대로 계산식을 구현하기 쉽고
정확하게 나오기 때문에..
이번에 데이터 마이닝 (물론 아주 기초적인 마이닝이지만...)을 하면서도
당연히 BigDecimal을 사용했다.
뭐 느려봐야 얼마나 느리겠어.. 라고 생각하고 있다가..
이번에 속도를 좀 개선하면서
BigDecimal을 double형으로 바꿨더니
속도가 상당히 빨라졌다.
약 3-6배는 빨라진 것 같다.
멀티스레드로 바꾸면서 개선되었던 속도만큼 빨라진듯..
뭐 double, float이라는게 계산을 빠르게 근사치로 하기 위해서
만들어졌다고 하니.... 메모리 사용도 줄어들었을테고..
아무튼..
대용량처리에서는
정확한 값이 필요한 경우가 아니면
그냥 기본형을 사용하자...