Задать вопрос
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Виталий Хоменко,
    вы хотите решить проблему или нет?

    Если вы не заметили (перечитайте вопрос еще раз) - я её уже решил. А сюда зашел послушать другие варианты. На что получаю ответы "ты не шаришь, надо делать так", и предлагают то, к чему я уже сам пришел.

    Пока только Армянское Радио подкинул идею, что замедление может быть в том, что симфони пишет в свой лог отдельную запись на каждое исключение - я в этом сомневаюсь, потому что лог был бы уже раздут мусорными записями, но в понедельник проверю.

    Аргументы "этого не может быть потому что не может быть" - не аргументы.

    P.S.
    Если у вас там тысячи записей в логи, то скорее всего именно они являются причиной

    Уже писали и уже отвечал - все нормально, 15 тысяч записей записывается в базу за 2 секунды.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Ипатьев, ваша проблема в том, что вы пишите мне о том же, о чем я сам написал в вопросе, но подаете это так, будто я не шарю, и вот как надо.

    Я задал здесь вопрос не для того чтобы услышать вывод, к которому сам пришел и уже проверил, а другие варианты.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Армянское Радио,
    Если 15к - код от разработчиков Симфонии не пролезет без тюнинга механизма обработки исключений.

    И в вопросе написал, что уже пришел к варианту тюнинга, который решает проблему, но интересно послушать другие варианты.

    На что получаю какие-то камни в свой огород, со словами что я должен сделать... тоже, о чем и написал в вопросе.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    https://github.com/symfony/symfony/blob/5.4/src/Sy...

    По вашей логике, если программист бросил исключение в валидации - он плохой программист, т.е. создатели симфони говнокодеры?
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Процитирую себя:

    15000 позиций (все с ошибками) - 375 сек.

    Если переделать валидацию с Exception на простую проверку строки:

    ...

    То тот же json с 15 тысяч позиций, с ошибками в каждой обрабатывается за те же 2 секунды.


    Если вы с такой ситуацией не сталкивались - это не значит, что она не может существовать в принципе.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Максим Федоров,
    Логирвоание исключений вам замедляют... сами исключения не замедляют

    На основании чего сделан такой вывод?
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Vitsliputsli, мне не интересно сейчас спорить по поводу терминов.

    Для меня удаление 99 из 100 Exception в коде - это удаление exception. Для кого-то это "правильное использование" (хотя для меня это костыли), сути правок не меняет.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Saboteur, вы говорите о том же, о чем я уже написал - об отказе от Exception
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Уйдя от исключений вы возможно ушли и от логирования исключений.

    Логирование делается, перепроверил.

    Я не стал в вопросе погружать по все тонкости обработки. Для оптимизации там уже была выброшена ORM, добавлены свои псевдо-сущности, которые группировали insert'ы в базу (что также сильно ускоряет обработку) и прочие оптимизации. Сейчас вот до отказа от Exception дошло.

    Если говорить о том, почему ваш пример отрабатывает быстро... возможно дело в цепочках исключений - когда исключение бросает один класс, потом его перехватывает другой и так по цепочке. Плюс сам stack trace видимо большой.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Ипатьев,
    Вы так привязались к слову валидация, а что если я сказал это для простоты, чтобы не вываливать на читающего всю сложность логики?
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Ипатьев,
    Ещё вопросы будут?

    Нет, я вижу что вы мало что понимаете в проектировании, и не знаете, что хороший класс это тот класс, который изолированно выполняет свою работу. Соответственно он не должен думать, о том, как другие классы будут работать с его исключением.

    Плюс, я вижу, как вы мой вывод об отказе от исключений, подаете как своё умное новое мнение. Спасибо, я уже догадался, что чем больше исключений, тем дольше все обрабатывается.

    Но отказ от стандартных исключений везде где они нужны - это будет как раз вынужденный костыль, ради быстродействия.
  • Как можно ускорить работу Exception?

    @HellWalk Автор вопроса
    Что за бред я только что прочитал?

    Исключение может кидаться ОДНО. В самом конце.

    Может еще и логику всего приложения в одном файле писать?

    За работу приложения отвечает множество классов, каждый из них самодостаточно выполняет свою часть работы, и в случае возникновения исключительной ситуации бросает исключение.
  • Как лучше поступить в данный момент?

    @HellWalk
    Что лучше? Пойти в 17-18 лет на работу и на заочку, или так и остаться на фрилансе.

    Вопрос некорректен - непонятно, сколько вы получаете на фрилансе, что за работа, что за обучение.

    В любом случае чувствуется перекладывание ответственности за свою жизнь на кого-то. Уже пора самому решать. Советчиков, конечно, много вокруг - но хотите ли вы портить свою жизнь следуя чужим советам? На мой взгляд, лучше своей головой подумать и принять решение, чтобы если и ошибаться - то на своих ошибках, а не на чужих "полезных" советах.
  • Как правильно создать систему уровней для игроков в браузерной онлайн игре?

    @HellWalk
    Абрам Петерс,
    В моем примере ошибки нет. Если ошибка в вашем коде - публикуйте код, потому что не видя ни кода, ни ошибки помочь невозможно.
  • Что происходит на рынке труда в айти?

    @HellWalk
    Курсы-курсам рознь.

    К курсам, которые "продают профессию", т.е. обещают, что после их прохождения вы найдете работу - отношусь прохладно, но к курсам, часто бесплатным, где делается какой-то проект (т.е. не базовые знания языка обсуждаются, в а онлайн-режиме создается какой-то проект с нуля) - отношусь очень положительно.

    Как-то отлично прокачал понимание MVC-фреймворков + написал свой простой MVC-фреймворк после просмотра такого бесплатного видео-курса на ютубе.
  • Чем отличается EntityManager->clear() от Doctrine->resetManager()?

    @HellWalk Автор вопроса
    Максим Федоров, данными по сущностями, больше нечему. Да и падают только сервисы, которые принимают сотни тысяч сообщений (и логируют обработку).

    Проблема решается (уже решилась) одной строчкой, заменой EntityManager->clear() на Doctrine->resetManager(), но интересно, в чем там разница внутри.
  • Почему не стоит передавать аргументы в функцию по ссылке?

    @HellWalk
    Использовать можно, главное понимать зачем. А не просто "а мне так нравится"
  • Возможно ли стать middle/senior без работы?

    @HellWalk
    Можно

    С той же вероятностью, что и создать свой успешный проект, который будет приносить столько денег, что вам и работа будет не нужна.
  • Как быть, если приходишь в проект, а там - всё печально?

    @HellWalk
    с большими отклонениями от тех технологий, которые были выбраны.

    Это как? Приходите руби программистом, на проект на руби, а по итогу проект оказывается на питоне?
  • Целесообразно ли логирование выносить в отдельную базу?

    @HellWalk
    Зависит от многих параметров, банально - на сколько закрыт весь тех.долг, и на сколько есть свободное время.

    Если техдолга нет (тесты написаты, документация написана, костылей нет, CI/CD настроен) и есть время - можно заморочиться с отдельным хранилищем для логов. Если же есть техдолг - я бы занялся лучше им, а логи можно вынести и потом, когда, например, база будет не справляться от нагрузки. Но тут от самой нагрузки зависит, если у вас 5 пользователей в сутки - это через 10 лет может случиться, или не случиться вовсе.