?

Log in

No account? Create an account

To Chaos Fishes

« previous entry | next entry »
Feb. 17th, 2008 | 12:45 am

Всё параллельное программирование - это попытка локализовать порядок в хаосе. Неправда, что программист создал хаос; нет, он его просто впустил. Теперь он создаёт острова порядка в океане хаоса. Хаос никуда не девается, но на входе его упорядочивают. Все эти семафоры и мониторы - защитники крошечных островков, на большее они не способны. Островки линейных порядков пассивно носятся на волнах и ломаются о прибрежные скалы.

Но вечно так продолжаться не может. И рано или поздно должно появиться то, что впускает этот хаос в себя и способно не отграничиваться от него, но быть его частью. Раз это океан, то его жители - Рыбы Хаоса. И за ними - будущее. Но какими они будут? И смогут ли люди их создавать и использовать?

Link | Leave a comment |

Comments {23}

Egor Egorov

(no subject)

from: egorfine
date: Feb. 16th, 2008 11:09 pm (UTC)
Link

ты что курил?

Reply | Thread

netch

(no subject)

from: netch
date: Feb. 16th, 2008 11:19 pm (UTC)
Link

Сначала - программу на питоне, в которой при достижении некоторой нагрузки начал вызываться __del__ на некоторые объекты из непредусмотренной ветки (в результате обычного GC), что сопровождалось феерическими эффектами (в технике это были бы треск, искры и дым от подачи 380 вместо 220). Ну грабли в принципе известны (сочетание GC и немедленной финализации уже слегка диверсия, но тут задача обязывает; но в сочетании с мультитредингом результат был совсем неожиданный).

Сейчас - её же, когда начались невразумительные тормоза в таких местах, куда и отладку толком не вставишь (или она съест гиги за день).

Reply | Parent | Thread

Egor Egorov

(no subject)

from: egorfine
date: Feb. 16th, 2008 11:22 pm (UTC)
Link

вот и нефиг курить всякую гадость

Reply | Parent | Thread

netch

(no subject)

from: netch
date: Feb. 17th, 2008 07:02 am (UTC)
Link

Егор, ты же вроде христианин. Зачем до сих пор используешь травяные намёки, если просто чего-то не понимаешь?

Reply | Parent | Thread

Egor Egorov

(no subject)

from: egorfine
date: Feb. 17th, 2008 01:34 pm (UTC)
Link

как раз я понимаю, и поэтому рекомендую тебе не заморачиваться.

Reply | Parent | Thread

Aleksey Salow

(no subject)

from: w00dy
date: Feb. 17th, 2008 01:04 am (UTC)
Link

В питоне жеж вроде как нет тру мультитрединга. Или я ошибаюсь?

Reply | Parent | Thread

netch

(no subject)

from: netch
date: Feb. 17th, 2008 07:03 am (UTC)
Link

Тру или не тру, а таки проявляется.

Reply | Parent | Thread

Всеволод Соловьёв

(no subject)

from: murkt
date: Feb. 17th, 2008 09:36 am (UTC)
Link

Есть, просто в CPython не может одновременно (я имею в виду именно одновременно в реальном времени) выполняться в двух тредах питоновский код. Сишный - может, если отпустит GIL. А если ядро одно, то разницы нет - Питон, не Питон, одновременно ничего не может выполняться ;) А возможность напакостить всё равно есть.

Reply | Parent | Thread

netch

(no subject)

from: netch
date: Mar. 24th, 2008 10:26 am (UTC)
Link

> просто в CPython не может одновременно (я имею в виду именно одновременно в реальном времени) выполняться в двух тредах питоновский код.

Кстати, а в каком - может? Jython и IronPython не предлагать, их уже знаю, но слишком фундаментально. Мне тут предложили Stackless, но насколько я вижу доку - там с этим ещё хуже.

Reply | Parent | Thread

Всеволод Соловьёв

(no subject)

from: murkt
date: Mar. 24th, 2008 01:13 pm (UTC)
Link

Я не знаю, как с многопоточностью в PyPy - там ведь нормальный сборщик мусора, а не счётчик ссылок. Но Питонов больше и нет - CPython, Jython, IronPython, PyPy. Stackless решает немного не ту задачу - нативные треды там никто не трогал, то же что и в обычном CPython.

Reply | Parent | Thread

Ingang

(no subject)

from: jrmm
date: Mar. 24th, 2008 10:03 am (UTC)
Link

хочу в киев ;)

Reply | Parent | Thread

Egor Egorov

(no subject)

from: egorfine
date: Mar. 24th, 2008 10:05 am (UTC)
Link

лопата

Reply | Parent | Thread