Это слишком много кода для тщательного изучения.
Некоторые общие советы: оцените, сколько памяти вы ожидаете использовать.Растет ли использование памяти во время работы или оно перестает расти в какой-то момент?Если он постоянно растет, у вас, вероятно, есть утечка.Существуют пакеты, которые могут помочь вам отследить утечку или убедиться, что вы используете RAII (например, shared_ptr
) для управления вашей памятью.Если память остается стабильной при большом количестве, вы можете пересмотреть свой алгоритм и посмотреть, где используется память.Вы распределяете много дублирующих данных?
Что касается использования ЦП, единственный способ выяснить, куда уходит время, - профилировать ваше приложение и посмотреть, где профилировщик говорит, что ЦП расходуется.Затем вы можете подойти к этому небольшому фрагменту кода и определить, как его улучшить.Наиболее вероятными улучшениями являются поиск алгоритмов полиномиального (или худшего) времени и превращение их в субполиномиальное время.