Size: a a a

2021 October 12

IV

Igor V in ctodailychat
конечно создать, просто с gil. cpython использует pthread
источник

AO

Alexander Ovchinniko... in ctodailychat
в Cython есть nogil режим (но я подробностей не знаю, если что, не пользовался этим)
источник

AI

Artificial Iv in ctodailychat
ого, пошел читать! Спасибо
источник

IV

Igor V in ctodailychat
сейчас пилят нормальный nogil
источник

IV

Igor V in ctodailychat
а зачем тебе треды?
источник

AI

Artificial Iv in ctodailychat
ни за чем, на самом деле. Я проходил тестовое задание, там был вопрос типа "python can be run in multi-threaded mode" или вроде того. Я вот и задумался, а можно ли это как-то устроить
источник

AI

Artificial Iv in ctodailychat
Просто мысленный эксперимент и любопытство, в общем
источник

IV

Igor V in ctodailychat
это неправильный вопрос
источник

IV

Igor V in ctodailychat
должно быть что-то вроде

сpythonсpython can be run in multi-threaded mode
источник

IV

Igor V in ctodailychat
все от реализации зависит
источник

AI

Artificial Iv in ctodailychat
Там было несколько таких вопросов и тест, в целом, говно (еще и строгий лимит по времени), но выбирать не приходится)) Там был вопрос вида "а как определить функцию в питоне: function, def, defun, никак"

Так что я просто выбирал более очевидный и более прямой ответ
источник

AO

Alexander Ovchinniko... in ctodailychat
наверное, там надо было написать что-нибудь про ThreadPoolExecutor
источник

AO

Alexander Ovchinniko... in ctodailychat
если интересовался flatbuffers, то там это используется для реализации сервера на питоне (https://github.com/google/flatbuffers/blob/master/grpc/examples/python/greeter/server.py#L48)
источник

IV

Igor V in ctodailychat
это же обертка над threading (futures.ThreadPoolExecutor)
источник

AO

Alexander Ovchinniko... in ctodailychat
это имхо проще использовать
источник

IV

Igor V in ctodailychat
вопрос же про линкусовые потоки был
источник

ДС

Дмитрий Смирнов... in ctodailychat
Всем привет!
Сегодня у меня в третий раз за полгода слился разработчик, который
1. принял оффер
2. все дни до выхода говорил что все ок
3. скинул HR-у все данные для оформления
4. но не вышел на работу.

Все разы – получение другого оффера (не контр-оффер).

Как часто у вас такое случается и делаете ли что-то с этим?)
источник

KT

Konstantin Trunin in ctodailychat
Добрый день. Мне добрый человек посоветовал сюда задать свой вопрос. Возможно тут кто-то подскажет направление куда смотреть, что поизучать?
Хочу чтобы написанные на Go сервисы стартовали секунды, а не десятки минут (приходится загружать миллионы объектов из разных таблиц БД на старте, далее инициалировать их определенным образом несколько минут, и все это занимает в памяти десятки Гб).
Грубо говоря идея - чтобы какой-то сервис сначала загрузил все это в себя и сдампил на диск в виде одного/нескольких файлов в идеале "as-is" как это лежит в памяти. Тогда сервисы смогут на старте эти файлы загрузить в себя за секунды и сразу в начать работать. Все бы ок, но структура у данных сложная - циклические ссылки, хеш-мапы.
Какие есть выходы? Я пока вижу три:
1) хранить все объекты в массивах, а все ссылки заменить на int index и все переходы по ссылкам на лету распаковывать по index в нужный элемент массива. Но это не идеально по перформансу.
2) сделать свои unsafe сериализаторы которые будут заменять ссылки на ID а при десериализации их восстанавливать с учетом циклических ссылок, а если все хранить и дампить массивами, то тоже быстро будет загружаться.
3) как-то воспользоваться поддержкой от ОС: наверняка ведь сдампить весь процесс на диск т.к. переносят же рабочие инстансы между датацентрами/нодами. Но тут я вобще не представляю куда смотреть
Буду признателен на любое направление или может быть кто-то что-то готовое знает?
источник

IV

Igor V in ctodailychat
>>> Хочу чтобы написанные на Go сервисы стартовали секунды, а не десятки минут (приходится загружать миллионы объектов из разных таблиц БД на старте, далее инициалировать их определенным образом несколько минут, и все это занимает в памяти десятки Гб).

что именно занимает десятки минут: чтение из базы? инициализация? создание объектов в памяти?
источник

IV

Igor V in ctodailychat
а почему именно в вашу компании должны стремиться разработчики?
источник