Правех бърз експеримент, за да видя как изглежда производителността на паметта на моя алгоритъм. Входът е около 2 Mb и алгоритъмът отнема около 1 секунда, за да го изпълни. Изпълних това в цикъл 500 пъти, за да мога да видя разпределението на паметта.
Ето как jConsole показва използването на паметта:
Както можете да видите, използването на куп памет се увеличава (някак експоненциално) на всеки два пъти преди GC да започне (въпреки че входът е същият).
Някой знае ли дали това се очаква и защо се случва? Има ли някаква оптимизация, направена от JVM?
Благодаря!