@ru_python

Страница 9227 из 9768
koder
03.06.2019
18:20:19
Но в рамках питона они решают ровно одну задачу

Worlak
03.06.2019
18:20:24
Google
?? Eugene
03.06.2019
18:20:36
Вроде наоборот было ))
Да вот нет, треды реально сложней

Tishka17
03.06.2019
18:20:54
треды сложнее?

Евгений
03.06.2019
18:21:04
Alex
03.06.2019
18:21:08
Но в рамках питона они решают ровно одну задачу
кооперативная \ вытесняющая многозадачность ага.

?? Eugene
03.06.2019
18:21:14
Worlak
03.06.2019
18:21:19
Да вот нет, треды реально сложней
Наверное от задач, но асинкио давался мне сложнее

Alex
03.06.2019
18:21:20
Tishka17
03.06.2019
18:21:23
ага
ну-ка синхронизируй мне корутины

koder
03.06.2019
18:21:34
ага
Нууу как помне треды куда проще

Alex
03.06.2019
18:21:44
Нууу как помне треды куда проще
ну хз... зависит как их использовать.

koder
03.06.2019
18:21:48
И, главное, они полностью совместимы со всеми либа и

?? Eugene
03.06.2019
18:21:59
ну-ка синхронизируй мне корутины
ну их можно синхронизировать, но это нужно реже чем с тредами

Google
Евгений
03.06.2019
18:22:05
да нет, не частные.
Ну тогда попробую выразиться по другому. Если программист не запрашивает блокировку в С extention то её не будет :)

koder
03.06.2019
18:22:07
А вот асинкои - это наш новый питон 3.0

Alex
03.06.2019
18:22:13
просто обычно в процессе обучения тредам рассказывают синхронизацию

koder
03.06.2019
18:22:33
ну их можно синхронизировать, но это нужно реже чем с тредами
А вот тебе шутка - в питоне в стандартной библиотеке asyncio.subptocess гонки

Tishka17
03.06.2019
18:22:56
ну их можно синхронизировать, но это нужно реже чем с тредами
скажи на какой задаче при использвании тредов нужна синхронизация, а с корутинами - нет

Tishka17
03.06.2019
18:23:24
хотя ладно, сам знаю. Но зато с тредами один зависший тред у тебя не вешает всё

koder
03.06.2019
18:23:25
Потому что мальчики из кора тоже подумали - а хули там. Поток то один, давайте без синхронизации пошарим списки данных между корутинами

?? Eugene
03.06.2019
18:23:33
скажи на какой задаче при использвании тредов нужна синхронизация, а с корутинами - нет
Ну допустим, достать корутиной значение из очереди и обработать

koder
03.06.2019
18:23:49
Какую?
Параллельное исполнение блокирующего кода

Tishka17
03.06.2019
18:23:54
?? Eugene
03.06.2019
18:24:27
Опять же, с корутинами и очереди нечасто нужны

koder
03.06.2019
18:24:35
Какую?
В других языках еще есть параллельные вычисления, но не в питоне.

Евгений
03.06.2019
18:24:45
Параллельное исполнение блокирующего кода
Только есть разные причины по которым происходит блокирование потока.

toby
03.06.2019
18:24:51
добрый вечер. у меня есть 3 цикла, могу ли я выполнить первый цикл с шагом один, и перейти ко 2 циклу, там тоже один шаг сделать, перейти к 3 циклу - 1 шаг выполнить 1 цикл (1 шаг) => выполнить 2 цикл (1 шаг) => выполнить 3 цикл (1 шаг) => выполнить 1 цикл (1 шаг) => выполнить 2 цикл (1 шаг) => выполнить 3 цикл (1 шаг) ...

Tishka17
03.06.2019
18:24:56
Google
koder
03.06.2019
18:25:51
Только есть разные причины по которым происходит блокирование потока.
Просто приведи пример, что можно сделать на потоках и нельзя на корутинах

Евгений
03.06.2019
18:26:11
А именно?
Вычисление на CPU, Опреции ввода/вывода которые тоже можно разделить на быстрые/медленные

?? Eugene
03.06.2019
18:26:22
Евгений
03.06.2019
18:26:53
Просто приведи пример, что можно сделать на потоках и нельзя на корутинах
Можно делать что угодно и на чем угодно. Вопрос на сколько будет эффективна реализация.

koder
03.06.2019
18:27:16
Вычисление на CPU, Опреции ввода/вывода которые тоже можно разделить на быстрые/медленные
Спу баундед мы не обсуждаем. Операции с фс не обрабатываются asyncio, но они сейчас редко тупят (хотя бывает в кластерах)

любое блокирующее действие
Например чтение из сокета?

Tishka17
03.06.2019
18:27:56
Например чтение из сокета?
чтение из сокета неблокирующее

?? Eugene
03.06.2019
18:27:57
а смысл делать блокирующие действия в asyncio

koder
03.06.2019
18:28:34
чтение из сокета неблокирующее
Я не понимаю что ты имеешь в виду. Для работы с сокетами asyncio равноценен по возможностям сюпотока

@kzh3ka говорит что потоки и сопроцедуры в питоне имеют строго разлиные области применентя

Tishka17
03.06.2019
18:29:02
Я не понимаю что ты имеешь в виду. Для работы с сокетами asyncio равноценен по возможностям сюпотока
я говорю, что asyncio юзает внизу неблокирующие операции с сокетами. не?

koder
03.06.2019
18:29:29
Поэтому нет смысла их сравнивать, я говорю что это чушь. Хотя области применения не полностью совпадают

я говорю, что asyncio юзает внизу неблокирующие операции с сокетами. не?
Это да, хотя смотря что брать за операцию. Где-то внизу есть блокирующий poll. Но это не тт различие, которое мы обсуждаем

Или я чего-то пропустил

Евгений
03.06.2019
18:30:36
@kzh3ka говорит что потоки и сопроцедуры в питоне имеют строго разлиные области применентя
ну назови области применения в которых потоки и асинхронность будет оденаково хороши.

koder
03.06.2019
18:30:50
Обработка сетевых соединений

Google
?? Eugene
03.06.2019
18:30:52
IO?

Евгений
03.06.2019
18:31:13
Обработка сетевых соединений
Нет, для них лучше использовать asycio

koder
03.06.2019
18:31:18
Контроль/взаимодействие с запущенными стронними процесса и

Alex
03.06.2019
18:31:22
koder
03.06.2019
18:31:33
Нет, для них лучше использовать asycio
См выше - как раз нифига. Потоки куда быстрее

Alex
03.06.2019
18:31:51
зависит от времени жизни сетевого соединения \ количества одновременно открытых подключений.

Евгений
03.06.2019
18:32:05
См выше - как раз нифига. Потоки куда быстрее
Напиши вот такое пожалуйста на потоках https://github.com/squeaky-pl/japronto

koder
03.06.2019
18:32:10
Асинкио дает интересный апи, но нифига в среднем не лучше потоков в питоне, не считая 30к+ соединений

Tishka17
03.06.2019
18:32:19
Это да, хотя смотря что брать за операцию. Где-то внизу есть блокирующий poll. Но это не тт различие, которое мы обсуждаем
да нет, как раз речь о том что файловый IO блокирующий, CPU-bound операции - тоже. Какой-нибудь иной системный вызов тоже может. Вот их на асинкио и не сделашеь

koder
03.06.2019
18:32:36
Напиши вот такое пожалуйста на потоках https://github.com/squeaky-pl/japronto
Еще раз - смотри вверху тесты. На потоках будет куда быстрее

?? Eugene
03.06.2019
18:32:45
См выше - как раз нифига. Потоки куда быстрее
Потоки быстрее пока их немного

Евгений
03.06.2019
18:32:49
Alex
03.06.2019
18:33:03
Ну так напиши если на потоках быстрее
аргумент "сперва добейся"?

koder
03.06.2019
18:33:09
Alex
03.06.2019
18:33:18
ты мне кстати про C extension так и не ответил

Alex
03.06.2019
18:33:46
Кто?
Евгений

Евгений
03.06.2019
18:33:52
Ну ваши утверждения голословны. https://github.com/squeaky-pl/japronto - вот реализация сервера на asycnio через uvloop.

?? Eugene
03.06.2019
18:34:16
и код на asyncio проще, чем многопоточный

Google
koder
03.06.2019
18:34:45
Ну ваши утверждения голословны. https://github.com/squeaky-pl/japronto - вот реализация сервера на asycnio через uvloop.
100й раз говорю - вверху ссылка скорости работы в т.ч. uvloop. Потоки в 10-4 раз быстрее

А то что там кто-то написал, ну молодец. Только что это доказывает?

Блин, напиши разрабам, они, походу, не в курсе
Да все в курсе. Но asyncio не про скорость, а про асинхронное апи

Alex
03.06.2019
18:35:49
Покажешь свои бенчи?
выше же показывал

?? Eugene
03.06.2019
18:35:54
А я не видел

Alex
03.06.2019
18:36:02
опять ты

koder
03.06.2019
18:36:04
https://github.com/koder-ua/network_ping_test/blob/master/perf_report.md

Собственно мне автор uvloop их ревьювил и слал на них патчи

Alex
03.06.2019
18:36:34
@Tishka17 пропиши ему уже RO, вероятно он не излечим.

Проксимов
03.06.2019
18:37:03
Нафига?

Страница 9227 из 9768