Size: a a a

2020 February 20

AR

Aleksandr Razumov in Go-go!
Мб из-за параллельности
источник

A

Aikidos in Go-go!
Nioray
Где интерфейс итератор в го?
В наших сердечках
источник

A

Aikidos in Go-go!
pragus
Одна ручка, в которую прилетает вообще всё
Не вообще всё, а то, что нужно главной странице для отображения статистики.
источник

S

Sergey in Go-go!
Aikidos
С чего это 40 были бы быстрее?
Параллельность - раз. Два - метод, который возвращает конкретные сущности на порядок проще оптимизировать и кешировать со своевременной инвалидацией/обновлением. Плюс у тебя пока ты не получишь все данные - нихрена не будет рисоваться, а так ты можешь по факту получения данных уже рисовать виджеты, что тоже сказывается на субъективном восприятии скорости загрузки данных
источник

A

Aikidos in Go-go!
Aleksandr Razumov
Мб из-за параллельности
40 запросов серверу + 40 ответов выполнятся быстрее, чем один? Бекенд то сбор данных тоже распараллеливает.
источник

PT

Pax au Telemanus in Go-go!
Aikidos
40 запросов серверу + 40 ответов выполнятся быстрее, чем один? Бекенд то сбор данных тоже распараллеливает.
вообще то да
источник

AR

Aleksandr Razumov in Go-go!
Aikidos
40 запросов серверу + 40 ответов выполнятся быстрее, чем один? Бекенд то сбор данных тоже распараллеливает.
Если распаралелливает, то мб так же, но эффективно это вместе с кешированием для жирных запросов делать сложнее

Ещё это может быть не один бекенд
источник

PT

Pax au Telemanus in Go-go!
ну про 40 я конечно загнул
источник

S

Sergey in Go-go!
Aikidos
40 запросов серверу + 40 ответов выполнятся быстрее, чем один? Бекенд то сбор данных тоже распараллеливает.
есть часть данных, которая отдаётся за 5мс, есть часть данных, которой надо 250мс. Обе части придут через ~270мс. если в одном запросе. Всё это время фронт крутит прелоадер. Или за 5мс уже обновил данные в одном виджете, а ещё через 200 - в другом
источник

AR

Aleksandr Razumov in Go-go!
Это может быть 40 бекендов или 40 ядер, которым не нужен оверхед на синхронизацию и сериализацию финального ответа
источник

AR

Aleksandr Razumov in Go-go!
Так что ответ не очевиден и зависит от реализации
источник

AR

Aleksandr Razumov in Go-go!
По сути задачу мержа данных мы переносим на фронтенд
источник

A

Aikidos in Go-go!
Sergey
есть часть данных, которая отдаётся за 5мс, есть часть данных, которой надо 250мс. Обе части придут через ~270мс. если в одном запросе. Всё это время фронт крутит прелоадер. Или за 5мс уже обновил данные в одном виджете, а ещё через 200 - в другом
Это главная страница. Какие 250 мс? Данные подготовлены заранее.
источник

S

Sergey in Go-go!
изначально вообще вопрос был про то, что надо ли в ответ на /user/1/post/2 возвращать информацию о том, кого именно нет - юзера или поста.
источник

PT

Pax au Telemanus in Go-go!
мои 5 копеек такие
сложные запросы заипешься кешировать лучше сделать 5 простых и положить в кеш потому что итоге будет макс 1 запрос в базу а остальное из кеша
источник

S

Sergey in Go-go!
Aikidos
Это главная страница. Какие 250 мс? Данные подготовлены заранее.
Ну вот, пошли уже частности. Сейчас выяснится вообще, что данные - это тупо метровый json в памяти.
источник

A

Aikidos in Go-go!
Pax au Telemanus
мои 5 копеек такие
сложные запросы заипешься кешировать лучше сделать 5 простых и положить в кеш потому что итоге будет макс 1 запрос в базу а остальное из кеша
Никто не мешает кэшировать данные как угодно. У нас с этим трудностей нет. Всё разбито по SRP.
источник

PT

Pax au Telemanus in Go-go!
Aikidos
Никто не мешает кэшировать данные как угодно. У нас с этим трудностей нет. Всё разбито по SRP.
да там больше проблема с инвалидацией
источник

A

Aikidos in Go-go!
Sergey
Ну вот, пошли уже частности. Сейчас выяснится вообще, что данные - это тупо метровый json в памяти.
Сейчас выяснится, что вы перегибаете.
источник

p

pragus in Go-go!
Sergey
Параллельность - раз. Два - метод, который возвращает конкретные сущности на порядок проще оптимизировать и кешировать со своевременной инвалидацией/обновлением. Плюс у тебя пока ты не получишь все данные - нихрена не будет рисоваться, а так ты можешь по факту получения данных уже рисовать виджеты, что тоже сказывается на субъективном восприятии скорости загрузки данных
ну вот у нас 100500 посылок, мы хотим узнать для них статус. плодить 100500 параллельных запросов?
источник