Size: a a a

Java/Kotlin and more

2020 December 12

AM

ANTARES MIRKO in Java/Kotlin and more
Alexandr Emelyanov
сказки, спринг еще как быстр может быть
а разве нельзя в спринге поотключать всё что не нужно ? (я зеленый, может бред несу)
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
НО, если взять тот же вебфлакс - там роутинг до контроллера 2-3 мс, так что норм
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
ANTARES MIRKO
а разве нельзя в спринге поотключать всё что не нужно ? (я зеленый, может бред несу)
сообщение выше
источник

RS

Ruslan Stelmachenko in Java/Kotlin and more
Alexandr Emelyanov
не, mvc немного толст и на хэндлинг запроса тратит примерно 20-50 ms вне контроллера

потом приходят ребята, у которых сервис отвечает за 10 мс в сумме и такие - спринг гавно.

ну ок, ребята для вашего тайминга такое оверхэд, а когда бизнес логика вместе с походом в бд или еще кудато вываливается в сотни миллисек, то на эти 20-50 уже похер
ну не знаю, если убрать сеть из уравнения, запустив сервис на локалхосте, то запрос, возвращающий немного данных из кэша через МВЦ-контроллер, отрабатывает за 6-8мс.

так что накладных расходов там явно не наберется на 50 мс. может, если кучу фильтров навесить.. (секьюрити уже есть)

по сути данный запрос почти ничего не делает, кроме доставания данных из кэша. так что наверное можно сказать, что 6-8 мс - это и есть накладные расходы самого спринга (диспетчер, фильтры, сериализация и прочее).
источник

Э

Эд in Java/Kotlin and more
Включаешь несколько стартеров => в контексте крутятся дохрена бинов. Они все реально нужны?
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Ruslan Stelmachenko
ну не знаю, если убрать сеть из уравнения, запустив сервис на локалхосте, то запрос, возвращающий немного данных из кэша через МВЦ-контроллер, отрабатывает за 6-8мс.

так что накладных расходов там явно не наберется на 50 мс. может, если кучу фильтров навесить.. (секьюрити уже есть)

по сути данный запрос почти ничего не делает, кроме доставания данных из кэша. так что наверное можно сказать, что 6-8 мс - это и есть накладные расходы самого спринга (диспетчер, фильтры, сериализация и прочее).
У меня замеры на пустом буте были больше, просто константу отдать из контроллера
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Но в целом да, медленность спринга - миф
источник

RS

Ruslan Stelmachenko in Java/Kotlin and more
Ну я вот только что проверил постманом. Может постман криво считает, конечно. Такие тесты не то, чтобы сильно научно правдивы. :)
источник

RS

Ruslan Stelmachenko in Java/Kotlin and more
Эд
Включаешь несколько стартеров => в контексте крутятся дохрена бинов. Они все реально нужны?
на производительность эти бины мало влияют. только на потребление памяти и скорость запуска приложения. если бин синглтон, то лежит он себе спокойненько в контексте, и никого не трогает.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Ruslan Stelmachenko
Ну я вот только что проверил постманом. Может постман криво считает, конечно. Такие тесты не то, чтобы сильно научно правдивы. :)
Ну ок, железо разное, версии тоже, я замерял давно)
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Ruslan Stelmachenko
на производительность эти бины мало влияют. только на потребление памяти и скорость запуска приложения. если бин синглтон, то лежит он себе спокойненько в контексте, и никого не трогает.
+
источник

C

Captcha bot in Java/Kotlin and more
Борис Селиверстов, если ты не бот, нажми "два". Ботов удалено: 398.
источник

C

Captcha bot in Java/Kotlin and more
Маргарита Блохина, если ты не бот, нажми "два". Ботов удалено: 398.
источник

C

Captcha bot in Java/Kotlin and more
Юганцева Андрон, если ты не бот, нажми "пять". Ботов удалено: 398.
источник

C

Captcha bot in Java/Kotlin and more
Nikita, код неверный, обратись к админу.
источник
2020 December 13

R

Responsibility in Java/Kotlin and more
Ребят, вот пытаюсь написать запрос в репозитории, чтобы искать совпадение по query среди Thread.title и Messages.message.
Пытался написать такой

Page<ThreadEntity> findThreadEntitiesByTitleOrMessagesContains(@Param("titleOrMessage")String title, @Param("titleOrMessage")String messages,  Pageable page);

Но он требует в качестве второго аргумента List<MessageEntity>. Можно ли это сделать как нибудь не используя нативный sql?
источник

R

Responsibility in Java/Kotlin and more
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Responsibility
Ребят, вот пытаюсь написать запрос в репозитории, чтобы искать совпадение по query среди Thread.title и Messages.message.
Пытался написать такой

Page<ThreadEntity> findThreadEntitiesByTitleOrMessagesContains(@Param("titleOrMessage")String title, @Param("titleOrMessage")String messages,  Pageable page);

Но он требует в качестве второго аргумента List<MessageEntity>. Можно ли это сделать как нибудь не используя нативный sql?
...OrMessagesMessageContains
источник

II

Ilya Ilyukou in Java/Kotlin and more
Как возвращать из замоканного объекта при вызове метода переданный аргумент?
when(valueRepository.save(v)).thenReturn(v);
Только чтобы вместо v был любой объект.
Пример проблемы:
Value v = new Value();
Value v2 = new Value();
when(valueRepository.save(v)).thenReturn(v);
В этом случае при вызове
valueRepository.save(v) - вернется v
valueRepository.save(v2) - вернется null
источник

PA

Pavel Artyomenko in Java/Kotlin and more
источник