«Должен ли я вернуться к старому коду?»
Если я скажу «вернуться», вы скажете: «Понимаете, я знал, что ОО был взорван, никто не может сделать ОО-приложение, которое работает». Это было бы неправильно.
Если я скажу «не возвращаться», вы скажете: «но это недопустимо медленно».
Итак, что осталось?
Вы должны написать это лучше . Иди вперед. Перепишите свой ОО, чтобы он действительно работал. ОО не "магия" - ничего не гарантирует. Есть плохие ОО программы и хорошие ОО программы. В вашем случае у вас явно есть возможности для улучшения.
Так что возьмите несколько инструментов профилирования производительности и узнайте, куда ушло время.
Кроме того, не «оптимизировать» - переписать.
Скорее всего, у вас есть какой-то поиск, который занимает много времени. Устранить поиск. Используйте лучшие контейнеры и коллекции (хеш-карты, наборы и т. Д.)