При разборе профилирования с использованием Antlr 4 для HQL-перевода Hibernate мы видим множество изменений размеров коллекции. На самом деле в моем небольшом тесте Antlr производит более 12 ГБ памяти только из размера коллекции . Основные виновники:
- org.antlr.v4.runtime.ParserRuleContext.addAnyChild(ParseTree) - 9,88 ГБ
- org.antlr.v4.runtime.ParserRuleContext.getRuleContexts (Класс) - 1,88 ГБ
В собственном коде Hibernate мы обнаружили, что существует значительныйповышение производительности просто путем правильного определения размеров этих коллекций заранее. Есть ли способ сделать это для Antlr в этих конкретных случаях ^^?