Здравствуйте, alex_public, Вы писали:
_>Пример в смысле библиотеки?
Пример в смысле работающего кода, на котором можно производительность оценить.
_>У нас уже есть прямо в языке std::thread, соответственно добавив к ним шаблонные функции типа send и receive и договорившись не использовать другие способы обмена данными (типа общей памяти) между потоками, мы уже получим полноценный вариант модели акторов.
Спасибо, подозрения о уровне полноценности подтвердились.
_>Дорисовать пару строчек в класс, чтобы было полноценное универсальное решение, а не для форума? ) Или вы сами в силах себе их представить? )
Вы, видимо, имеете в виду копирование массива при создании версии. Ну так какое это отношение имеет к персистентным структурам данных?
_>Сомнительный аргумент. Если язык позволяет работать только с GC, то весьма вероятно у него он уже не плохой. А если не только с GC (как в D например), то можно использовать более эффективные способы (типа стека, пула и т.п.) в том числе и с иммутабельными данными.
Опять двадцать пять. 1) Для хоть сколько-нибудь нетривиальных иммутабельных структур данных вы стеком не обойдетесь. 2) С какой стати пул эффективнее ГЦ на сценариях использования иммутабельных объектов?
Вы не сможете освободить большинство пулов, в каждом останется 5% живых объектов. Эффективность, конечно, лучше некуда.
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll