• Python программирование бгг Вы полтора года назад забацали программу на Питоне. Все эти полтора года программа росла, и данные, которые она переваривает, тоже росли.
    И вот сейчас вы задумались о том, что так дальше продолжаться не может, и надо её распараллелить, т.к. больше ничего уже не сделать.
    Вы подключили multiprocessing, стали пытаться делать так, чтобы всё работало правильно (для начала чтобы хоть как-то работало), и... осознали, что как раз сейчас и есть очень хороший момент для того, чтобы своей любимой программе сказать «большое спасибо» и переписать её на чё-то другом, что, как минимум, распараллеливаться будет без адских мучений.
    Причём вполне вероятно, что новая программа будет работать с такой скоростью, что распараллеливание не будет актуально ещё года полтора. Но лучше сразу не обманываться, чтобы не страдать потом.
    ♡ recommended by @anton0xf, @O01eg, @OCTAGRAM, @juick

Replies (7)

  • @dluciv, и почему бы не переписать критические места на Си, как это обычно делают?
  • @dluciv, Что в питоне с расспаралеливанием все так плохо?
  • @padavanchik, Путому что они активно тягают питонский код вокруг себя. Я бы их возможно на Cython переписал, но большого эффекта не будет...
  • @kuzyalittle, Весьма так себе.
    1. Кошмар с глобальными данными и глобальным кодом. Т.е. никакой глобальной инициализации и т.п. Ну это ладно, надо сразу писать программы нормально, когда я на это напарываюсь, можно считать, что я сам виноват.
    2. Всё общение между процессами (именно процессами, много потоков ничего не ускорят) идёт через сериализацию.
  • @dluciv, Хреново же вы её написали, если она не параллелится.
  • @dluciv, через сериализациюи что? Это замеренный боттлнек?
    Какая вообще структура данных, можно ли процессить кусками? Копирование может быть дешёвым, если у тебя не стопицот гигов. Олсо можно тупо форкнуться, и разными процессами обрабатывать разные куски и отчитываться родителю, копирования не будет т.к. copy on write, и дописывать ничего особо не надо кроме коммуникации родителю, хоть по хттп, хоть как
  • @dluciv, перепешите на го. Будете снова хипстерами