на расходы конкретно на исключения для 15 000 вызовов (на каждую строку по 1 исключению) будут около 0.01 секунды (сотая секунды крч) для моего локального компа (много, но и данных много)
$error = $this->handle($json);
if ($error === '') {
// логируем что все ок
} else {
// логируем ошибку
}
Тут заменено не только это, а заменено что-то внутри в handle(), тк не летит исключение
возможно в описании задачи вы не указали, что валидируете возможно через что-то симфовое, не отключив finger cross, который собирает весь стек-трейс или еще что-то... кажется, не хватает контекста для понимания проблемы
в 15 тыс новых объектов проблемы может не быть. Такие задержки по времени выглядят как проблема на уровне логирования исключений, тк I/O операции над файлом долгие, а сбор трейса исключений и его запись — долгие потенциально.
Уйдя от исключений вы возможно ушли и от логирования исключений.