@ru_python

Страница 3158 из 9768
Artem
11.07.2017
09:54:07
На собеседовании можно долго лить короче

Aragaer
11.07.2017
09:55:09
а list comprehension это куда?

Павел
11.07.2017
09:55:12
Уже зато что есть мысли на этот счет дадут +

Aleksandr
11.07.2017
09:55:42
Google
Hot
11.07.2017
09:58:06
Ух ты, спасибо.

Достаточно много полезной инфы.

melancholiac
11.07.2017
09:58:32
Насчёт скорости.
тип цикл быстрее?

Hot
11.07.2017
09:59:10
Нет, там на SO поднимали вопрос насчёт for loop vs map, и кто-то предположил, что на многопочных системах map будет быстрее.

И там же кто-то затестил.

Hot
11.07.2017
09:59:42
А вот хз

Вопрос не смог найти сейчас.

melancholiac
11.07.2017
09:59:56
разве мап из коробки распаралеллен?

Nikolay
11.07.2017
10:00:18
разве мап из коробки распаралеллен?
в питоне ничего из коробки не распараллелено

Aragaer
11.07.2017
10:00:30
лист компрехеншн вроде из коробки распараллелен

Artem
11.07.2017
10:00:36
в питоне ничего из коробки не распараллелено
Есть же в стандартной библиотеке параллельный мап

Google
Aragaer
11.07.2017
10:00:51
ок

melancholiac
11.07.2017
10:00:55
мап генерит в 2 раза более короткий байткод чем цикл

Nikolay
11.07.2017
10:01:00
ты про тот, что в мультипроцессинге?

Artem
11.07.2017
10:02:00
Да

Nikolay
11.07.2017
10:02:25
ну, это немного другое

Даниил
11.07.2017
10:02:53
мап генерит в 2 раза более короткий байткод чем цикл
мап никакой байткод не генерит просто вызов функции в которой уже заимплеменчен цикл короче чем сам цикл, да

melancholiac
11.07.2017
10:03:39
1 вызов функции

в цикле: трогается итератор,из него достаются значения, джампы и pop'ы

а вообще странно что мап не распараллелен

и листкомп

Даниил
11.07.2017
10:06:05
нет, не странно

ты вообще как это представляешь себе

Denis
11.07.2017
10:06:10
Нет, не странно

Даниил
11.07.2017
10:06:18
если IO операции в map, чё будет?

Artem
11.07.2017
10:06:23
1 вызов функции
Как думаешь, что дороже - вызвать функцию или сделать джамп

Denis
11.07.2017
10:06:39
Смысл с гилом параллелить?

Google
Даниил
11.07.2017
10:06:43
вызов конечно

melancholiac
11.07.2017
10:06:51
если IO операции в map, чё будет?
мне кажется это уже головная боль ос

Даниил
11.07.2017
10:07:25
мне кажется это уже головная боль ос
эээээ в смысле? [print(i) for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]

melancholiac
11.07.2017
10:07:25
вот если функция которая маппит последовательность будет её менять в процессе - странно

Artem
11.07.2017
10:07:32
если IO операции в map, чё будет?
Ээээ а зачем ио в мап? Мап не предполагает как концепция заданной очередности действий

melancholiac
11.07.2017
10:07:53
логично

тогда так: "странно что мап опционально не распралелленый"

Даниил
11.07.2017
10:08:31
настоящей параллельность же в Python вообще нет

Artem
11.07.2017
10:08:51
а это другой разговор, да

Даниил
11.07.2017
10:09:08
ну типа, зелёные треды есть, но это не то

Даниил
11.07.2017
10:09:20
ты от них не получишь ускорения если будешь вычисления тяжёлые в цикле делать

Denis
11.07.2017
10:09:33
melancholiac
11.07.2017
10:09:40
так, я правльно знаю многопоточность!=параллельность?

Даниил
11.07.2017
10:10:09
Alex
11.07.2017
10:10:14
Коллеги, а тут релевантные предложения работы можно публиковать?

Artem
11.07.2017
10:10:18
правильно

Даниил
11.07.2017
10:10:37
ну вообще да, пишут что зелёные - это в stackless python

Google
Artem
11.07.2017
10:10:47
Коллеги, а тут релевантные предложения работы можно публиковать?
можно публиковать, стоит нормально оформить: требования к кандидату, название конторы, вилка зп

Даниил
11.07.2017
10:12:11
так, я правльно знаю многопоточность!=параллельность?
ну смотри, вот взять например те же зелёные треды код выполняется в несколько потоков, но эти потоки выполняются не параллельно на нескольких ядрах, а просто управление переключается между ними, так что смысл в них есть только чтобы асинхронно работать например с долгими IO операциями, но не для того чтобы распараллеливать тяжёлые вычисления

Denis
11.07.2017
10:12:32
Но они же не зеленые...

Даниил
11.07.2017
10:12:37
ну да, да, я как пример

когда многопоточность != параллельность

а я пока пошёл читать про GIL, pthread и вот это вот всё

Admin
ERROR: S client not available

Даниил
11.07.2017
10:13:30
In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once

melancholiac
11.07.2017
10:14:01
т.е. профит многопоточности в том что есть несколько потоков, каждый оперирует своей областью памяти и между ними можно переключатся?

Даниил
11.07.2017
10:14:15
нене, не каждый оперирует своей областью памяти

Даниил
11.07.2017
10:14:29
память как раз общая, поэтому когда один поток работает, другие блокируются

Denis
11.07.2017
10:14:31
Еще гил обычно отпускается во время I/O

Nikolay
11.07.2017
10:14:34
и память общая, да

melancholiac
11.07.2017
10:14:38
просто я не понимаю в чем смысл: выполнялось бы все в один поток

Nikolay
11.07.2017
10:14:48
melancholiac
11.07.2017
10:14:57
что с многопоточностью что без нет паралелльности

Даниил
11.07.2017
10:14:59
долго выполняющийся

Google
Даниил
11.07.2017
10:15:07
делается запрос

управление переключается потоку который пока делает что-то другое

melancholiac
11.07.2017
10:15:42
стоп-стоп а сам запрос не занимает процессор?

Даниил
11.07.2017
10:15:42
и короче процессорное время не теряется попусту пока происходит запрос

Nikolay
11.07.2017
10:16:15
что с многопоточностью что без нет паралелльности
параллельность есть, просто не в питонокоде

Nikolay
11.07.2017
10:16:42
си?
да, или любой другой

Даниил
11.07.2017
10:16:49
си?
ну да тот же NumPy посмотри

melancholiac
11.07.2017
10:16:53
типо джитона или айрона?

Nikolay
11.07.2017
10:18:00
типо джитона или айрона?
да, там обычные потоки

Artem
11.07.2017
10:18:28
ты так говоришь, как будто здесь необычные

melancholiac
11.07.2017
10:19:25
может у меня не так с пониманием, но мне кажется вся работа - это операция над памятью. почему нельзя без многопоточности одному потоку пока делается запрос к бд начать выполнять другой код (без создания двух потоков)?

Nikolay
11.07.2017
10:19:34
melancholiac
11.07.2017
10:19:39
просто над другой областью памяти

melancholiac
11.07.2017
10:20:06
а без гила потоки могут выполнятся параллельно?

Artem
11.07.2017
10:20:23
если у тебя больше одного ядра*

Nikolay
11.07.2017
10:20:32

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