Здравствуйте, eao197, Вы писали:
E>Здравствуйте, Gaperton, Вы писали:
G>>>>Но это мы еще посмотрим — думаю, шансы порвать Питон у меня есть.
E>>>Питон там давно порвали на британский флаг.
G>>C++ быстрее Эрланга на микротестах, а Питон примерно ему равен, языки одного класса.
E>Тогда возникает вопрос:
E>E>Не стесняйся, опиши реальную серверную задачу, а я тебе ее положу на Эрланг, и она отлично заработает.
E>под "отлично" здесь понимается "правильно, но в четыре раза медленее"?
Под "отлично" здесь понимается то, что задача хорошо ложится на модель передачи сообщений, а Эрланг служит для иллюстрации.
Если ты не понял, мы здесь говорим о моделях параллелизма, разделяемая память vs на сообщениях, а не о том, что С++ быстрее чем Эрланг. В таком же стиле как на Эрланге, с асинхронными сообщениями, можно писать и на С++. Скажем, при помощи MPI.
G>>Если этот указатель кладется в queue, или в объект с интерйесом queue, то это передача сообщения. И совершенно неважно, указатель там на преаллоцированный буфер, или нет. Важно, что ты не оперируешь явно разделяемой памятью и примитивами синхронизации.
E>Видимо, у нас разные представления о разделяемой памяти и задачах, которые решаются с помощью передачи сообщений.
Мое представление в целом соответствует взглядам Дийкстры и Хоара, ты уж меня прости, классическое образование — ничего не могу с собой поделать. И комплексовать на тему, что оно у меня не такое, как у тебя — тоже не получается, извини.
Читайте книги, это прикольно. ((с) Зефиров)
G>>В Эрланге, например, я воспользуюсь для этого иммутабельными бинарями, и уверяю тебя — на нижнем уровне данные ни разу не скопируются...
E>Если только процессы не работают на разных нодах.
А что, изобрели способ передавать данные с одного компа на другой без копирования?
С этого момента подробнее.
В Эрланге нет абсолютно никакого резона запускать несколько нодов на одной машине — виртуальная машина знает, что такое SMP и умеет его готовить.