Как использование BigDecimal повлияет на производительность приложения?
Я хочу использовать BigDecimal для представления произвольных чисел точности, таких как цены и суммы, в торговом приложении с низкой задержкой и тысячами заказов и отчетов об исполнении в секунду.
Я выиграл'Я не буду выполнять много математических операций над ними, поэтому вопрос не в производительности самого BigDecimal, а в том, как большие объемы объектов BigDecimal влияют на производительность приложения.
Меня беспокоит то, что огромное количество короткоживущих объектов BigDecimal будет напрягать ГХ и приводить к большим паузам Stop-The-World в сборщике CMS - и это определенно то, чего я хотел бы избежать.
Не могли бы вы подтвердить мои опасения и предложить альтернативы использованию BigD? Кроме того, если вы считаете, что мои опасения не верны - пожалуйста, объясните почему.
Обновить:
Спасибо всем, кто ответил. Теперь я убежден, что использование BigDecimal повредит задержке моего приложения (хотя я все еще планирую измерить его).
Пока мы решили придерживатьсяочень не ООП " решение (но без точности) - использовать дваint
s, один для мантиссы и другой для экспоненты. Обоснование этого заключается в том, что примитивы помещаются в стек, а не в кучу, и, следовательно, не подлежат сборке мусора.