Сейчас на форуме: bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› Какой самый эффективный IPC между 32 и 64 битами? |
Посл.ответ | Сообщение |
|
Создано: 16 февраля 2011 12:25 · Поправил: sys_dev · Личное сообщение · #1 Вобщем, есть 32-битный код помещенный в dll и с точно таким же интерфейсом есть 64-битная dll. Обе будут подгружаться некоторым стороним(не моим) продуктом некоторой другой конторы. Нюансы: Нет возможности портировать 32-битный код под 64 бита за приемлимое время с точки зрения бизнеса. Слишком много человеко-дней(месяцев) надо. Вывод: Как уже писал выше, основное "мясо" помещается в 32-битный dll и с точно таким же интерфейсом в 64 битную версию dll. Сценарий работы: 1. 64-битная длл, подгружается 64-битной версией сторонего продукта 2. Длл создает сурогатный 32-битный процесс 32-битного PE-файла 3. Суррогат грузит 32-битную длл, в которой основное мясо. Тем самым он становится прокси\адептером меж 32 и 64 битным кодом! 4. Взаимодействие сделать через IPC. Условия: Между процессами 64 и 32 битными будут пересылаться куски данных размером в 4КБ довольно часто! Сейчас сделал на юзании именованных пайпа с синхронными(не overlap) ReadFile, WriteFile функциями, т.е. чтение блокирует трэд до тех пор пока в пайп не начнут писать и наоборот. Вопросы: Основной: Какой самый эффективный IPC между этими 32 и 64 битами? Предположения: Может одно из: сокеты, COM или именованная глобал шаред меморю? Может еще что? Мне нужно побыстрее в скорости не заботясь о размере файлов(ну разве что на десятки МБ не стоит ))) ! |
|
Создано: 16 февраля 2011 14:06 · Личное сообщение · #2 |
|
Создано: 16 февраля 2011 14:10 · Поправил: sys_dev · Личное сообщение · #3 PE_Kill Спасибо, но каковы аргументы? Просто если буду требовать человеко-часы, мне желательно обосновать, что это действительно стоит того! Пока меня уговоривают так: "пайпы всем понятный механизм, любой способен саппортить. А в шаред мемори еще доп. синхронизацию надо делать, что ведет к излишнему усложнению кода, т.е. его саппорту" |
|
Создано: 16 февраля 2011 14:21 · Личное сообщение · #4 Конечно же COM, ибо это самый простой способ портирования. А всё остальное только если скорости не хватит. ----- PGP key |
|
Создано: 16 февраля 2011 14:26 · Личное сообщение · #5 |
|
Создано: 16 февраля 2011 14:28 · Личное сообщение · #6 |
|
Создано: 16 февраля 2011 14:35 · Личное сообщение · #7 |
eXeL@B —› Программирование —› Какой самый эффективный IPC между 32 и 64 битами? |