А не подскажите крейт для того чтобы итерироваться в тред

пуле?

17 ответов

13 просмотров

В смысле распараллелить итерацию?

а там кстати только параллельные итераторы? параллельного for нету?

Andrey Pushkar
а там кстати только параллельные итераторы? паралл...

есть параллельный .for_each() параллельный for сделать нельзя, потому что for это сахар уровня языка для вполне конкретного цикла

Max Силинг
есть параллельный .for_each() параллельный for сде...

С процедурными макросами наверное можно и параллельный for? :) Но это конечно шутка, мне без разницы, какой синтаксис, лишь бы ленивость не мешала

Andrey Pushkar
С процедурными макросами наверное можно и параллел...

процедурные макросы тут дадут все недостатки .for_each() без каких-либо достоинств в частности, принципиально нельзя рассахарить процедурным макросом вот такую конструкцию #[par] for _ in x { return; } потому что она участвует в control flow вне тела цикла

(на самом деле можно, наверное, если рассахаривать return в бросок и ловлю паники, считая, что у нас включён unwind и что внутри цикла нет catch_unwind)

не обязательно можно представить себе задачу (например, поиск нужного числа в большом массиве чисел по некоторому предикату), для которой «делать больше итераций» в целом ок, и тогда нужная семантика return будет такой, как я описал

Max Силинг
не обязательно можно представить себе задачу (напр...

Но теперь нам придётся даункастить панику в данные, и придётся проверять что все ретёрны возвращают один и тот же тип.

Эрик
Но теперь нам придётся даункастить панику в данные...

да, хотя мы можем попытаться выплюнуть рядом с остальным кодом какие-нибудь статические ассерты

паника даже не нужна, ControlFlow ftw, но синхронизация всё равно замороченная будет...

вафля'
паника даже не нужна, ControlFlow ftw, но синхрони...

можно, да, если не завязываться на интерфейс .par_for_each()

Max Силинг
можно, да, если не завязываться на интерфейс .par_...

но наивное рассахаривание всё равно не выйдет

Max Силинг
но наивное рассахаривание всё равно не выйдет

(я, кстати, не помню, что делает .par_for_each(), если в нём запаниковать)

Max Силинг
(я, кстати, не помню, что делает .par_for_each(), ...

останавливает внутренние треды «в ближайшее время» и паникует наверх что произойдёт, если оба запаникуют, я не уверен

Похожие вопросы

Обсуждают сегодня

Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
7
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Есть тут кто занимается разработкой серваков майна? Или знакомые
meow *
3
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Есть ли лимиты на кол-во вебхук по домену? Стоит в данный момент 900+ ботов и бывает бот перестает отвечать (не приходят вебхуки) 🐒 Помогает только перезапуск
ᅠ [ Кому не ответил, дублируйте ]
11
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Товарищи, здравствуйте Подскажите, пожалуйста, может кто-нибудь сталкивался с такой задачей Через вебапку можно сканировать qr-код, а есть ли возможность считывать nfc?
Artem Stormageddon
8
Карта сайта