
Vladimir
05.10.2018
11:24:19

Nameless
05.10.2018
11:25:22

Alexandr
05.10.2018
11:25:24

Anatolii
05.10.2018
11:25:47

Google

Nameless
05.10.2018
11:26:08
кстати еще очень забавно
что код с корутинами прогондируется как плоский и последовательный
а по факту зачастую код в rxjava более плоским выглядит (еще накинул)

Egor
05.10.2018
11:26:41

OlegKrikun
05.10.2018
11:26:50

Alexandr
05.10.2018
11:26:52
не решается
да лан, даже в свинге и любой web фреймворке это есть, а в андройде - нет? так и поверил

Жабра
05.10.2018
11:27:12

Andrew
05.10.2018
11:27:27

Nameless
05.10.2018
11:27:32
Handler же
да через handler можно debounce оформить, но когда начнешь еще операций навешивать то уже rxjava будет поудобнее

Жабра
05.10.2018
11:27:35

Nameless
05.10.2018
11:28:08

Mikhail
05.10.2018
11:28:09
Чет Елизаров в ранних докладах говорил среди плюсов корутин "не нужно запоминать кучу комбинаторов, как в rx" но он не говорил что для этого придется каждый комбинатор руками писать каждый раз

Andrew
05.10.2018
11:28:43

Nameless
05.10.2018
11:29:03

Google

Alexandr
05.10.2018
11:29:18
да, не забывайте что у подхода корутин будет больше производительность

Mikhail
05.10.2018
11:29:22

Alexandr
05.10.2018
11:29:24
по крайней мере в теории
написать везде можно криво

Жабра
05.10.2018
11:29:41

Egor
05.10.2018
11:29:42
Господи, что вообще развели? Rx и корутины - два стула, вы садитесь на тот, на котором вам удобнее в той или иной ситуации. Зачем вам Rx, если все, что ваше приложение делает - ходит в сеть по одному запросу и сразу использует полученные данные?

Pavel
05.10.2018
11:29:44

Andrew
05.10.2018
11:29:58
А как rx джуна чиается, кстати? Нормальный последовательный код он обычно уже умеет писать сносно, а цепочки операторов складывать?

Alexandr
05.10.2018
11:30:09

Andrew
05.10.2018
11:30:27
Вот прям щас же Елизаров о простоте / читаемости говорил.

Mikhail
05.10.2018
11:30:34

Andrew
05.10.2018
11:30:57
А много джунов с ФП бекграундом на рынке?
Или миддлов, раз уж на то пошло.

Mikhail
05.10.2018
11:31:24
неменого помогает сказать им что об ркс можно думать как о списке событий, но не синхронном а растянутом во времени
и что субскрайб - это форич

Andrew
05.10.2018
11:32:19
А ещё есть люди, которые годами пользуют рх для асинхронности, и считают, что они умеют в рх. С такими, я думаю, тоже работать, кгм, непросто поначалу.

Konstantin
05.10.2018
11:32:44

Mikhail
05.10.2018
11:33:23

Andrew
05.10.2018
11:33:53

Konstantin
05.10.2018
11:33:55
Ну да. Хотя stream api-то наверное уже многие знают

Google

Nameless
05.10.2018
11:33:55

Mikhail
05.10.2018
11:34:14
map, flatmap, zip - все это есть в списках но нет в лайвдате

Vladimir
05.10.2018
11:34:54

Nameless
05.10.2018
11:34:54

Andrew
05.10.2018
11:35:26

Nameless
05.10.2018
11:35:26

Mikhail
05.10.2018
11:35:26
ты серьезно?
да, меня интересуют замеры и _насколько_ быстрее они работают

Alexandr
05.10.2018
11:35:45

Vladimir
05.10.2018
11:36:45
И что? Что здесь такого страшного, количество закрывающих скобок? Декомпозицию никто не отменял. Логика совершенно последовательная.

Nameless
05.10.2018
11:36:49

Andrew
05.10.2018
11:36:50
От корутин тут один withTimeout и один delay, всё остальное — то, что было бы написать без корутин — обычный последовательный код.

Alexandr
05.10.2018
11:36:55
при некоторых случаях parallelStream дает прирост, но тут надо подходить очень с тонким тестированием

Nameless
05.10.2018
11:37:02

Mikhail
05.10.2018
11:37:18

Andrew
05.10.2018
11:37:25

Nameless
05.10.2018
11:37:34

Руслан
05.10.2018
11:38:00

Google

Alexandr
05.10.2018
11:38:20
нет, только в случае параллезма
параллельные стримы не всегда быстрее - это раз,
два - на стримах можно сделать дольше, тут есть ряд факторов, позволяющих стримам работать быстрее

Mikhail
05.10.2018
11:38:30

Alexandr
05.10.2018
11:38:37

Nameless
05.10.2018
11:38:39
еще вопрос накину
что быстрее
ArrayList<Lol> lols …
for (Lol lol in lols) {
}
или
for (int i = 0; i < lols.size; i++) {
}

Andrew
05.10.2018
11:39:33

Nameless
05.10.2018
11:39:41

Andrew
05.10.2018
11:39:54
Сову тоже можно на глобус натянуть, конечно же.

Alexandr
05.10.2018
11:39:57
Нужно учитывать набор операций и размер коллекций
и тут даже не столько это
эти параметры повлияют на параллельные стримы - однозначно
обычные стримы дадут 100% выйгрыш, когда императивный код не может реализовать алгоритм без промежуточных коллекций

Mikhail
05.10.2018
11:41:16
а в сложных случаях корутины пока какой-то кашей выглядят

Admin
ERROR: S client not available

Alexandr
05.10.2018
11:41:39

Руслан
05.10.2018
11:41:54

Andrew
05.10.2018
11:42:04

Nameless
05.10.2018
11:42:09

Alexandr
05.10.2018
11:42:46

Mikhail
05.10.2018
11:42:46

Nameless
05.10.2018
11:43:14

Alexandr
05.10.2018
11:43:20

Vladimir
05.10.2018
11:43:47
Сейчас бы foreach бенчмаркать

Google

Nameless
05.10.2018
11:43:48

Alexandr
05.10.2018
11:43:55

Mikhail
05.10.2018
11:44:20

Nameless
05.10.2018
11:44:36
полез бенчмаркать

Георгий
05.10.2018
11:45:32

Alexandr
05.10.2018
11:46:15

Nameless
05.10.2018
11:46:22

Alexandr
05.10.2018
11:46:27

Георгий
05.10.2018
11:47:01
Он inline?)

Alexandr
05.10.2018
11:47:07
да

Andrew
05.10.2018
11:48:18

Andrey
05.10.2018
11:49:02

Mikhail
05.10.2018
11:49:03

Alexandr
05.10.2018
11:49:42

Andrew
05.10.2018
11:50:56

Andrey
05.10.2018
11:51:14

Mikhail
05.10.2018
11:51:26

Alexandr
05.10.2018
11:51:54

Andrew
05.10.2018
11:52:33

Руслан
05.10.2018
11:54:05
Господи, бенчмаркать forEach по листам и сравнивать его со старым for с доступом по индексу. Тут в первую очередь нужно посмотреть в байт-код и убедиться что там один и тот же код сгенирировался, и перестать вообще думать о таких микрооптимизациях