@ru_python

Страница 9323 из 9768
Max
13.06.2019
17:53:35
Nikolay
13.06.2019
17:53:41
Python, походу, упорно стремится на путь C++ с его адской complexity
ага, куча неявной херни досыпается в язык заместо более важных вещей

?? Eugene
13.06.2019
17:54:16
Добавили один оператор за 20 лет, а они уже про c++ complexity запели)

polunin.ai???
13.06.2019
17:54:29
Чтоб парсить данные о пользователях в Инстаграме нужно авторизоваться? Какую библиотеку нужно использовать?
И да, нужно. А ещё если ты совершил два запроса за очень короткий промежуток времени, или что-то подобное, то твой айпи кидают в подобие черного списка.

Google
polunin.ai???
13.06.2019
17:55:05
Nikolay
13.06.2019
17:56:01
А что нужно питону важного на ваш счёт?
ускорение работы эвентлупа, переписывание большинства встроенных методов на си вместо питона, возможность плодить несколько легких процессов интерпретатора в одном системном

это все на порядок важнее оператора моржа

?? Eugene
13.06.2019
17:56:55
Вот не факт

polunin.ai???
13.06.2019
17:57:13
Ну, текущий главный разработчик уходит, посмотрим что будет делать следующий.

Евгений
13.06.2019
17:57:20
это все на порядок важнее оператора моржа
Важнее для кого? Что вы пишите на питоне, что вам жизнено необходимы такие доработки?

?? Eugene
13.06.2019
17:57:20
Язык должен развиваться

Nikolay
13.06.2019
17:57:29
Вот не факт
вот факт, потому что языки, в которых есть подобные вещи, сейчас активно теснят питон на его же поле

?? Eugene
13.06.2019
17:58:34
вот факт, потому что языки, в которых есть подобные вещи, сейчас активно теснят питон на его же поле
Ты так говоришь будто оператор моржа вся команда питона пилила целый год

Nikolay
13.06.2019
17:58:35
Язык должен развиваться
ну да, давайте больше фич досыпем и пофиг на рефакторинг. Знакомая картина, где-то видел

?? Eugene
13.06.2019
17:58:43
Да его за день вмержили

Google
Евгений
13.06.2019
17:59:16
например, веб-приложения
А какой это прирост даст? Есть какие то предложожения на этот счет?

Nikolay
13.06.2019
17:59:42
Ты так говоришь будто оператор моржа вся команда питона пилила целый год
ну да, всего лишь добавили еще одну неоднозначность для разработчиков парсеров, как будто их мало было без этого

?? Eugene
13.06.2019
18:00:49
Короче, я жду эту штуку с нетерпением)

Nikolay
13.06.2019
18:00:52
А какой это прирост даст? Есть какие то предложожения на этот счет?
зависит от того, как реализовать. Я думаю, про прирост в скорости работы эвентлупа и так очевидно, а про несколько процессов - это позволит частично обойти GIL и многие вещи параллелить по-настоящему

1 и 2 к языку отношения не имеют
имеют отношение к ванильной его реализации

Nikolay
13.06.2019
18:01:58
Процессы не параллелят по-настоящему?
процессы в текущей реализации дают дикий оверхед на сериализацию и синхронизацию

настолько дикий, что тупой GNU Parallel рвет питон по скорости на два порядка

Nikolay
13.06.2019
18:03:19
эт что?
это консольная утилита на перле для запуска параллельных процессов

polunin.ai???
13.06.2019
18:04:05
Nikolay
13.06.2019
18:04:21
а есть от этого какой то выход?
есть, например, позволять запускать процессы в режиме пересылки сырых байтов между ними, а не пиклованных питонообъектов

с минимальным оверхедом поверх системных вызовов

просто fork() и pipe()

Google
Евгений
13.06.2019
18:05:09
просто fork() и pipe()
Разве нельзя сейчас организовать такое на python?

Nikolay
13.06.2019
18:05:16
Пересылать сырые байты мешает гил
GIL? в мультипроцессинге? ну-ну

Sasha
13.06.2019
18:05:16
Пересылать сырые байты мешает гил
А причем тут Гил и процессы?

Denis
13.06.2019
18:05:41
Denis
13.06.2019
18:05:44
GIL? в мультипроцессинге? ну-ну
Так это же не мультипроцессинг будет, если мы просто память копируем. Ссылки на глобальные структуры те же останутся

Denis
13.06.2019
18:05:48
у меня так жопа с этого горела

Denis
13.06.2019
18:06:23
я про pipe не просто так написал
А тогда надо сериализовывать

Nikolay
13.06.2019
18:06:32
А тогда надо сериализовывать
не надо, берешь байты и шлешь

все конвейеры в юниксе так работают еще с 80-х годов

Denis
13.06.2019
18:07:01
не надо, берешь байты и шлешь
Байты это указатель на глобальный объект нашего интерпретатора, что с ними делать получателю?

Евгений
13.06.2019
18:07:05
на чистом Python будет сложно, проще будет на C писать
Ну это может показаться банальным, но C extension никто не отменял. Да и pull request никто не запрещает делать в cpython ;)

Nikolay
13.06.2019
18:07:17
не надо пересылать указатели

Denis
13.06.2019
18:07:36
байты - это не указатель на глобальный объект интерпретатора
В питоновских объектах много указателей внутри

Nikolay
13.06.2019
18:07:46
Евгений
13.06.2019
18:07:57
Google
Denis
13.06.2019
18:08:10
Евгений
13.06.2019
18:08:39
В питоновских объектах много указателей внутри
Ну тогда причем тут Bytes и способ хранения в python?

Denis
13.06.2019
18:08:52
Ну тогда причем тут Bytes и способ хранения в python?
При том, что какие именно данные ты суешь в iostream?

Nikolay
13.06.2019
18:09:22
При том, что какие именно данные ты суешь в iostream?
я поэтому специально и написал, что пересылать при таком раскладе можно будет только сырые байты

зато оно будет работать на порядки быстрее

Denis
13.06.2019
18:09:45
Сырые байты и сейчас можно пересылать

Nikolay
13.06.2019
18:09:59
Сырые байты и сейчас можно пересылать
через 100 слоев ненужной абстракции, да

либо же дергая руками системные вызовы из libc

Denis
13.06.2019
18:10:23
Можно и без, шаред мемори есть

Nikolay
13.06.2019
18:10:23
ну такое

Denis
13.06.2019
18:10:41
multiprocessing.shared_memory

Даже в си ходить не надо

Nikolay
13.06.2019
18:11:18
multiprocessing.shared_memory
но зачем, если мне нужна обычная потоковая обработка?

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

это дефолтный механизм, которому больше 40 лет

Denis
13.06.2019
18:11:57
Ты и пайп можешь сейчас сделать

Denis
13.06.2019
18:12:02
multiprocessing.shared_memory
туда же не все запулить можно не?

Denis
13.06.2019
18:12:12
Denis
13.06.2019
18:12:15
ну точнее

часть будет сериализоваться

Google
Nikolay
13.06.2019
18:12:23
ну такое

Sasha
13.06.2019
18:12:35
А разве в каких-то интерпретируемых языках нет сериализации и десериализации при создании процесса?

Nikolay
13.06.2019
18:12:49
а где мой синтаксический сахар? где поддержка этого режима в мультипроцессинге?

Denis
13.06.2019
18:13:01
multiprocessing.Pipe

Nikolay
13.06.2019
18:13:32
А разве в каких-то интерпретируемых языках нет сериализации и десериализации при создании процесса?
я ничего не имею против того, что она есть по дефолту. Я против того, что нет никакого низкоуровневого опционального режима для ускорения

multiprocessing.Pipe
не катит, как раз тут и есть тот самый гигантский оверхед

дайте мне просто буфер и я буду в него writeinto()

Denis
13.06.2019
18:14:56
Nikolay
13.06.2019
18:15:11
Там есть send_bytes
ну давай сравним его по производительности с  GNU Parallel?

а тупо в dev/shm писать
кроссплатформенно?

Denis
13.06.2019
18:15:30
)0

Denis
13.06.2019
18:15:53
ну давай сравним его по производительности с  GNU Parallel?
Никогда не интересовался таким, можно сравнить

Nikolay
13.06.2019
18:16:25
Никогда не интересовался таким, можно сравнить
ну вот странно, что не интересовался. По дефолту в современном линуксе создание процесса и отправка ему байтов - очень дешевая и простая операция

в винде чуть похитрее, но тоже не особо сложно

Denis
13.06.2019
18:17:15
или только кусками из доков выцеплять информацию?

Nikolay
13.06.2019
18:17:29
или только кусками из доков выцеплять информацию?
ну, есть базовые системные вызовы же

почитай про fork() и всякие execve() в сях

Denis
13.06.2019
18:17:57
ну, есть базовые системные вызовы же
это все хорошо когда ты работаешь с си на линуксе

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