@ru_python

Страница 5975 из 9768
Геннадий
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. Там именно так, как я сказал. Не улетайте в теорию :) Если я последую за Вами, у нас спора нет, потоки на фиг не нужны. Просто перелопатить сишные либы.

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

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

Короче, даёшь ассинхронную революцию. Всё синхронное принудительно стереть, запретить питон 2.7.

Геннадий
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. Впечатления приятные.

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

Геннадий
19.07.2018
14:23:18
Вообще питон - это призвание, а если хотите асинхронщину, то идите в ноду.
Был я там. До сих пор решают элементарные штуки, про которые я лет десять назад забыл.

Алексей
19.07.2018
14:23:52
ноде пора на свалку истории неудачных решений
как будто го удачное решение, особенно в части работы с ошибками, особенно в части написания бесконечных if err != nil { return nil, err }

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
для начала хотя бы ядра научитесь грузить равномерно
там уже даже вроде запилили всякие потоки в ноду, правда несколько экспериментально, и вообще нода не для cpu bound задач

Правда Go кстати тоже не особо для числодроблений подходит

Nikolay
19.07.2018
14:27:22
там уже даже вроде запилили всякие потоки в ноду, правда несколько экспериментально, и вообще нода не для cpu bound задач
ну офигеть теперь, в ноду костылем запилили то, что в других языках искаропки и бай дизайн

Правда Go кстати тоже не особо для числодроблений подходит
ну это потому что нормальных BLAS-связок нет пока что

но, имхо, для числодроблений еще Rust зайдет

Алексей
19.07.2018
14:28:14
ну это потому что нормальных BLAS-связок нет пока что
я вот уверен, что для числодробилок ещё ничего лучше C++ не придумали

Google
Алексей
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
потому что на крестах больше возможностей удобных именно для кода числодробилок
никто в здравом уме не будет для числодробилок использовать плюсовый STL

Nikolay
19.07.2018
14:31:12
Где я говорил про STL?
C++ без STL - это С с классами

Алексей
19.07.2018
14:31:22
Nikolay
19.07.2018
14:31:37
Чеееегоооо?
тогоооооо

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

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

а там - как пойдёт

Nikolay
19.07.2018
14:32:28
Вообще то можно (а иногда и нужно) написать свои специализированные классы на шаблонах и с перегрузкой операторов
но не в случае числодробилок, где важны вектора и раскладка по кэшам и SSE-инструкциям

Nikolay
19.07.2018
14:32:51
и я бы не назвал это Си с классами
ну да, там теперь есть еще auto и лямбды

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

Nikolay
19.07.2018
14:33:07
а кто мешает на крестах такое сделать?
никто, но и на C никто не мешает. И на C чаще всего это и делают

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

Алексей
19.07.2018
14:33:53
никто, но и на C никто не мешает. И на C чаще всего это и делают
в Си нет ни классов ни шаблонов, ни перегрузки операторов, ни каких-либо более-менее безопасных методов работы с памятью

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
для таких вот задач

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
доверие развесистому компилятору в таких вещах - ну такое
нууууу нет, я больше доверяю компилятору честно говоря

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