Size: a a a

Kotlin Community

2020 July 20

AN

Alexander Nozik in Kotlin Community
Aleksandr Semyannikov
Т.е. то что сейчас делаем list.map { async {...} }.awaitAll()
Это как раз параллельно
источник

AS

Aleksandr Semyanniko... in Kotlin Community
Хм
источник

AN

Alexander Nozik in Kotlin Community
Асинхронности тут нет вообще никакой
источник

AS

Aleksandr Semyanniko... in Kotlin Community
Ок, запутали
источник

AN

Alexander Nozik in Kotlin Community
У вас код синхронно выполняется. Вы ожидаете результата
источник

AN

Alexander Nozik in Kotlin Community
И я повторюсь, это почти никогда не имеет смысла. Только если у вас операция в мапе дико тяжелая. И для этого будет параллельный flow процессинг.
источник

AS

Aleksandr Semyanniko... in Kotlin Community
Alexander Nozik
И я повторюсь, это почти никогда не имеет смысла. Только если у вас операция в мапе дико тяжелая. И для этого будет параллельный flow процессинг.
Т.е. есть что то подходящее у flow? Я честно искал и с разбега не получилось найти, чтоб можно было async внутри явно не запускать
источник

AN

Alexander Nozik in Kotlin Community
Aleksandr Semyannikov
Т.е. есть что то подходящее у flow? Я честно искал и с разбега не получилось найти, чтоб можно было async внутри явно не запускать
https://github.com/Kotlin/kotlinx.coroutines/issues/1147 Можно брать из сэмплов в ветке
источник

AN

Alexander Nozik in Kotlin Community
Оно работает по-разному и не все одинаково полезно, но использовать можно
источник

KT

Kirill Timofeev in Kotlin Community
Roman Ushakov
Вроде даже у идеи интеграция была
была и есть. да :)
источник

AS

Aleksandr Semyanniko... in Kotlin Community
Alexander Nozik
Оно работает по-разному и не все одинаково полезно, но использовать можно
Вот благодарю! Интересное чтиво
источник

RU

Roman Ushakov in Kotlin Community
Kirill Timofeev
была и есть. да :)
Круто)
источник
2020 July 21

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Как правильно заметили выше, Java.Stream позволяет делать параллельный мап. Но он почти всегда будет медленнее, чем не параллельный
На больших данных параллельность даст буст
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Это как раз параллельно
Смотря какой диспетчер 😏
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
На больших данных параллельность даст буст
На больших задачах. Раз по данных не важен особо. На коротких задачах от переключение потоков и синхронизация результатов сожрет больше.
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
На больших задачах. Раз по данных не важен особо. На коротких задачах от переключение потоков и синхронизация результатов сожрет больше.
В стриме есть сплитератор, и он дробит на подзадачи, переключений там минимум, там проблема с равномерной нагрузкой и вычислением "как разбить данные" и стоит их разбивать вообще
источник

BP

Bogdan Panchenko in Kotlin Community
переключения поток там не так уж много кушают
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
В стриме есть сплитератор, и он дробит на подзадачи, переключений там минимум, там проблема с равномерной нагрузкой и вычислением "как разбить данные" и стоит их разбивать вообще
В стриме да. Но объединение в одну коллекцию все равно сильно не дешевое
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
В стриме да. Но объединение в одну коллекцию все равно сильно не дешевое
Это тоже верно
источник

AK

Artem Kochkin in Kotlin Community
как вам лого?
источник