?

Log in

No account? Create an account
boost::interprocess (aka shmem) - Valse oubliée [entries|archive|friends|userinfo]
aruslan

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]
[ delicious | aruslan's delicious ]

Links
[Links:| Tags Profile Friends FG1 PP gamedev XNA FF Entries Comments Memories ]

boost::interprocess (aka shmem) [Apr. 24th, 2007|10:52 pm]
aruslan
[Tags|, , ]
[Current Music |silence]

Сегодня напомнили, что boost::interprocess (который в девичестве был известен как shmem) жив и всячески приближается к.
Лежит в boost vault.

А ведь там есть всякие забавные контейнеры, аллокаторы и смарт-пойнтеры.
Так что приглашаю к столу.
LinkReply

Comments:
[User Picture]From: kunaifusu
2007-04-24 07:22 pm (UTC)
Это же оборачивальщик АПИ - как оне собираюццо его в буст пропихнуть?
(Reply) (Thread)
[User Picture]From: aruslan
2007-04-25 06:28 am (UTC)
В смысле?
Я бы не сказал что контейнеры аллокаторы offset_ptr и т.п. - это оборачиватели.
Оборачиватели там концентрированно лежат в одном месте.

Ну и в бусте нет ограничения на API - иначе не было бы и boost::threads, boost::filesystem, boost::python етц.
Они там спокойно берут что им нужно по consulting services ;)
(Reply) (Parent) (Thread)
[User Picture]From: kunaifusu
2007-04-25 06:38 am (UTC)
Ну и в бусте нет ограничения на API - иначе не было бы и boost::threads, boost::filesystem, boost::python етц.
А, я думал там типа самодельные треды и опора на CRT... Ценность библиотеки, оборачивающей API, по-моему, минимальна. Работает только там, где ее афторы заточили, при чем не факт, что работает правильно.
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2007-04-25 09:40 am (UTC)
Эта, повторю - там контейнеры, аллокаторы и offset_ptr.
Интерес они представляют во многом исследовательский, как и весь буст, но героические усилия людей вполне себя оправдывают - я видел много-много хуже.

Про обёртка/не обёртка - в данном контексте это неважно совсем.
Не видел на консолях нормального interprocess, да и не нужен он там.
Речь идет именно о вспомогательных интересных средствах, велосипедные версии которых есть много где.
(Reply) (Parent) (Thread)
[User Picture]From: kunaifusu
2007-04-25 05:09 pm (UTC)
Ну мне, как раз, контейнеры и аллокаторы не интересны, а на ИПЦ посмотреть хотелось бы, если бы оно без АПИ было (типо с какими-нибудь простыми генериками).
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: aruslan
2007-04-25 06:24 am (UTC)
Ну просто идут волны типа "давайте читать s>> a.x >> a.y", "давайте делать mmap", "давайте делать инплаце" и т.п.
И через это страшно - потому что придумывают контейнеры всякие, и делают это не подумав, как обычно. А тут как бы есть уже контейнеры всякие и аллокаторы и offset_ptr, которые можно расспосмотреть.
(Reply) (Parent) (Thread)
[User Picture]From: glebedev
2007-04-25 06:04 am (UTC)
это всё используется прям там у вас? На полную?
(Reply) (Thread)
[User Picture]From: aruslan
2007-04-25 06:19 am (UTC)
Нет, конечно :)
В существующем виде это всё скорее пугает.

Но после написания нормального инплейс аллокатора и правильной доводки напильником етц - вполне забавное решение.
Хотя лично мне не очень понравилось делать на offset_ptr, и оттого я фиксапами попривык.
(Reply) (Parent) (Thread)
[User Picture]From: glebedev
2007-04-25 06:25 am (UTC)
А я совсем расслабился... Уже второй год на шарпе плотно сижу... :) Надо будет написать чего-нить чтобы освежить :)
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2007-04-25 06:32 am (UTC)
Да ну брось.
У софта на шарпе есть одно непреодолимое преимущество - его с нуля пишут ;)
(Reply) (Parent) (Thread)
[User Picture]From: plakhov
2007-04-25 12:12 pm (UTC)
И даже это неправда.
Я тут буквально сегодня Scintilla к редактору на шарпе прикрутил. И узнал попутно всякое про взаимодействие древнейшего WinAPI c Marshal.*
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2007-04-25 01:39 pm (UTC)
Я про отсутствие тонн легаси-говнокода в логике и инфраструктуре.
Маршаллинг и т.п. - это чуть-чуть кода, а вовсе не игра.

p.s. Слово "даже" в первом предложении не понял.
(Reply) (Parent) (Thread)
[User Picture]From: plakhov
2007-04-25 04:05 pm (UTC)
Маршаллинг - это чуть-чуть, да.
А поведение по умолчанию "все нажатия Ctrl + letter интерпретировать как вставку в текст спецсимвола", которое посылкой N сообщений через этот самый маршаллинг танцами с бубном отключается, самописный и не особенно документированный язык конфиг-файлов и тп - это вот то самое легаси тех самых тонн кода и есть, никуда не делось.
Большую часть нетривиального кода на шарпе поковыряй - найдешь DllImport, managed c и тп.
В этом и сила, кстати, как всегда.

P.S. "Даже" - это если в твоей сентенции выделить голосом слово "одно".
(Reply) (Parent) (Thread)
[User Picture]From: juan_gandhi
2007-04-25 02:33 pm (UTC)
На чем бы ни писали, а через три года всё всё равно превращается в легаси код.
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2007-04-25 03:16 pm (UTC)
Факт. Оттого и смайлик.
(Reply) (Parent) (Thread)
[User Picture]From: _winnie
2007-04-25 08:36 am (UTC)
Какие героические попытки смонтировать STL-контейнеры в разделяемой памяти!
(Reply) (Thread)
[User Picture]From: aruslan
2007-04-25 09:42 am (UTC)
Именно :)
К чести авторов могу сказать, что те самые "создайте мне вектор чтобы я его потом инплаце" там весьма неплохо написано.

Хотя я в данном вопросе и сторонник качественной метаинформации для автоматической сборки по ней, ну и плюс offset_ptr не люблю - все равно зачётно.
(Reply) (Parent) (Thread)