
Геннадий
19.07.2018
14:08:10
Я про очень конкретный пример.

Nikolay
19.07.2018
14:08:14
можно дернуть сишную либу, которая внутри себе сделает pthread_create
Я про очень конкретный пример.
я хз, как в монге на уровне клиента реализована асинхронность (если реализована), но если там для нее используются питоновские потоки - то это, мягко скажем, странно

Anton
19.07.2018
14:09:02
Есть кто-нибудь с опытом работы с API ВКонтакте? Можно ли там получить данные своих переписок через запрос?

Google

Геннадий
19.07.2018
14:09:06
Я всё про конкретику, про mongodb. Там именно так, как я сказал. Не улетайте в теорию :) Если я последую за Вами, у нас спора нет, потоки на фиг не нужны. Просто перелопатить сишные либы.

Sergey
19.07.2018
14:09:33

Геннадий
19.07.2018
14:09:46

Nikolay
19.07.2018
14:09:52
но люди ленивые, поэтому мы имеем до сих пор кучу поточных фреймворков потипу flask/django

Геннадий
19.07.2018
14:10:48
Короче, в стопитсотый раз холивар наш приходит к теме "от задачи всё зависит".

Nikolay
19.07.2018
14:11:16
и я до сих пор его не понял

Геннадий
19.07.2018
14:11:46
Дык он задачу не изложил, вот и непонятно.

Nikolay
19.07.2018
14:12:42
дык он написал, что там большей частью I/O операции. Это хорошо, да, но, тем не менее, само наличие потока и функции питона в нем подразумевает, что системный шедулер будет бегать и переключать контекст, а GIL будет браться, блокируя работу другого потока
чего можно было бы избежать, будь все I/O в одном потоке
ну не умеет питон пока как Go, ну сорян

Геннадий
19.07.2018
14:13:56
Меня ещё дико бесят всякие новомодные штучки типа реактивного подхода. Вот делают либу PyRX, казалось бы всё реактивное, идеальное для ассинхронности. Так нет. Внутрь залезаешь, значит там всё сделано синхронно, а для закрывания тикета на гитхабе про ассинхронность лепят жуткие костыли, что это нифига не работает. Вот куча либ видел, которые хотят на двух стульях посидеть, и python 2.7 поддержать, не используя async/await, и ассинхронными быть. В результате беда-беда.

Google

Nikolay
19.07.2018
14:14:16
есть такая либа aiofiles, например
так там в ней ничего асинхронного нет вообще, кроме обертки вызовов в корутины зачем-то
это мило, конечно, но не сильно помогает на практике

Геннадий
19.07.2018
14:15:35
Я сейчас для души себе проектик начал, бэкендик с вебинтерфейсом. Вот ещё не раскачегарился, а уже 3-4 либы такие использую, криворукие...
Короче, даёшь ассинхронную революцию. Всё синхронное принудительно стереть, запретить питон 2.7.

Nikolay
19.07.2018
14:16:43

Геннадий
19.07.2018
14:17:02
40 минут? Ок :)

Nikolay
19.07.2018
14:17:06
40 минут? Ок :)
они того стоят, это полноценный доклад, и он очень своевременный

Геннадий
19.07.2018
14:17:36
Нет, уровень фанатичности преданности питону на 100%.
Никаких го, руби, р и всё такое.

Nikolay
19.07.2018
14:17:59

Геннадий
19.07.2018
14:18:18
Дык в задачу входит фанатичный программист.

Nikolay
19.07.2018
14:18:19
руби и р-то понятно, это мертвые языки, но го на многих задачах очень даже

Sergey
19.07.2018
14:18:27

Nikolay
19.07.2018
14:18:47
можно тупо байты пересылать через юникс сокеты

Sergey
19.07.2018
14:19:23

Nikolay
19.07.2018
14:19:31
в эрланге вот порты придумали для такого

Google

Nikolay
19.07.2018
14:19:37

Геннадий
19.07.2018
14:20:26
Я в своё время для сильно разнородного взаимодействия использовал Zeroc Ice. Впечатления приятные.

Алексей
19.07.2018
14:22:34
Меня ещё дико бесят всякие новомодные штучки типа реактивного подхода. Вот делают либу PyRX, казалось бы всё реактивное, идеальное для ассинхронности. Так нет. Внутрь залезаешь, значит там всё сделано синхронно, а для закрывания тикета на гитхабе про ассинхронность лепят жуткие костыли, что это нифига не работает. Вот куча либ видел, которые хотят на двух стульях посидеть, и python 2.7 поддержать, не используя async/await, и ассинхронными быть. В результате беда-беда.
Вообще питон - это призвание, а если хотите асинхронщину, то идите в ноду.

Nikolay
19.07.2018
14:22:55
ноде пора на свалку истории неудачных решений

Геннадий
19.07.2018
14:23:18

Алексей
19.07.2018
14:23:52

Sergey
19.07.2018
14:23:52
пока модуль нодовский установится, расхочется проект пилить

Nikolay
19.07.2018
14:24:17
и да, го - гораздо более удачное решение, чем нода

Геннадий
19.07.2018
14:24:35
Ну то есть если официальная дока нам говорит, что выпускайте проект в продакшн только с оберткой, которая рестартнёт ваш сервис, когда он сдохнет... Ну.... Ок.

Алексей
19.07.2018
14:25:10

Nikolay
19.07.2018
14:25:32
для начала хотя бы ядра научитесь грузить равномерно

Алексей
19.07.2018
14:26:49
Правда Go кстати тоже не особо для числодроблений подходит

Nikolay
19.07.2018
14:27:22
но, имхо, для числодроблений еще Rust зайдет

Алексей
19.07.2018
14:28:14

Google

Nikolay
19.07.2018
14:28:32

Алексей
19.07.2018
14:28:40

?
19.07.2018
14:28:40

Алексей
19.07.2018
14:28:45

?
19.07.2018
14:29:00
почему нет

Denis
19.07.2018
14:29:10
А про джаву все забыли

?
19.07.2018
14:29:16

Nikolay
19.07.2018
14:29:20
нет
лучшая на настоящий момент векторная библиотека - Numpy - базируется на фортрановых либах для BLAS

?
19.07.2018
14:29:24

Admin
ERROR: S client not available

Алексей
19.07.2018
14:29:43

Nikolay
19.07.2018
14:29:46

Алексей
19.07.2018
14:30:18
почему нет
потому что на крестах больше возможностей удобных именно для кода числодробилок

Nikolay
19.07.2018
14:30:40

Алексей
19.07.2018
14:30:55

Nikolay
19.07.2018
14:31:12

Алексей
19.07.2018
14:31:22

Nikolay
19.07.2018
14:31:37

Tigran
19.07.2018
14:31:47

Алексей
19.07.2018
14:31:59
Вообще то можно (а иногда и нужно) написать свои специализированные классы на шаблонах и с перегрузкой операторов

Google

Tigran
19.07.2018
14:32:01
элементарные операции на BLAS, конечно
а там - как пойдёт

Nikolay
19.07.2018
14:32:28

Алексей
19.07.2018
14:32:31

Nikolay
19.07.2018
14:32:51

Алексей
19.07.2018
14:32:58
и завернуть в обёртки на классах и шаблонах

Nikolay
19.07.2018
14:33:07

Алексей
19.07.2018
14:33:53

none
19.07.2018
14:34:08
у кого есть сертификат питон программиста

Алексей
19.07.2018
14:34:32

Nikolay
19.07.2018
14:34:37

Алексей
19.07.2018
14:34:39
для таких вот задач

Nikolay
19.07.2018
14:34:42

Aragaer
19.07.2018
14:35:01
в си есть структуры, макросы. А перегрузка операторов мне и даром не нужна

Nikolay
19.07.2018
14:35:14
на сишке будет суперэффективный код под конкретную платформу, который будет решать векторные задачи и не отвлекаться на оптимизации ненужные

Алексей
19.07.2018
14:35:36

Nikolay
19.07.2018
14:35:41
доверие развесистому компилятору в таких вещах - ну такое
там будет компилятор, который придет и за тебя наоптимизирует хероты

Алексей
19.07.2018
14:36:02