Size: a a a

Rust — русскоговорящее сообществo

2020 December 09

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
То есть если спавнов нет, то это рабочее решение, а если есть то могут быть проблемы
источник

K

Kitsu in Rust — русскоговорящее сообществo
Так, а зачем? В task-local хранить идентификатор таски (можно взять рандомный айдишник например) и использовать общий логгер с выводом таск-локал идентификатора.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Если эта таска что-то заспавнила, и дочерняя таска решила что-то пологгировать, то ты уже не поймешь, к какому инстансу она относится
источник

f

folex in Rust — русскоговорящее сообществo
Mikail Bagishov
Но дочерние таски их не увидят
Да, тогда не сработает в моем случае :(
источник

f

folex in Rust — русскоговорящее сообществo
Ну видимо надо не выпендриваться, и отлаживать на докер контейнерах
источник

K

Kitsu in Rust — русскоговорящее сообществo
Ну новая таска, новый айдишник, да
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Или использовать нормальные рантаймы
источник

f

folex in Rust — русскоговорящее сообществo
Mikail Bagishov
Или использовать нормальные рантаймы
Пока что завязан на libp2p, увы
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Еще можно каждый тест запускать в подпроцессе
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Тогда проблем с захватом вывода нет
источник

YJ

Yo Jla in Rust — русскоговорящее сообществo
folex
Да. Чз env_logger + log
я делал такое, чтобы каши от паралельно запускаемых тестов не было - сначала тесты "выстроить в ряд"
сторонний крейт, аттрибут на каждый тест = [#serial]
и все норм, насчет асинк не утверждаю, т.к. не знаю
источник

f

folex in Rust — русскоговорящее сообществo
У меня один тест, просто он выглядит вот так:
nodes = make_nodes(20)
client = connect(node[0])
...


И я думал на нем поотлаживаться по логам. Но как ни посмотри, проще запустить 20 докер контейнеров, и клиентом в тесте к ним подключаться.
источник

MF

Max Frai in Rust — русскоговорящее сообществo
какой самый быстрый вариант проверить, что вся строка в нижнем регистре?
источник

RS

Roma S in Rust — русскоговорящее сообществo
Max Frai
какой самый быстрый вариант проверить, что вся строка в нижнем регистре?
ascii или не? :)
источник

A

Apachee in Rust — русскоговорящее сообществo
Max Frai
какой самый быстрый вариант проверить, что вся строка в нижнем регистре?
разделить строку на n чанков, где n — количество потоков системы, и в каждом потоке проверять чанк
источник

A

Apachee in Rust — русскоговорящее сообществo
Apachee
разделить строку на n чанков, где n — количество потоков системы, и в каждом потоке проверять чанк
ну и лучше сразу тредпул для такого типа тасок сделать
источник

АМ

Александр Маглеванны... in Rust — русскоговорящее сообществo
Apachee
разделить строку на n чанков, где n — количество потоков системы, и в каждом потоке проверять чанк
Если строка из 8 символов, то наверное нет смысла разгонять 8 потоков для проверки
источник

r

red75prime in Rust — русскоговорящее сообществo
Apachee
разделить строку на n чанков, где n — количество потоков системы, и в каждом потоке проверять чанк
Это для очень длинных строк, где оверхед на коммуникацию между потоками перекроется распараллеливанием.
источник

RS

Roma S in Rust — русскоговорящее сообществo
для аскии мб будет быстрее simd'ом сконвертить в ловеркейс, вместо проверки
источник

A

Apachee in Rust — русскоговорящее сообществo
Александр Маглеванный
Если строка из 8 символов, то наверное нет смысла разгонять 8 потоков для проверки
ну можно сделать минимальный размер чанка
источник