Возможно ли обмен памятью между двумя приложениями MFC C++ без использования Memory mapped files? В настоящее время мы используем этот метод для совместного использования структур, и это слишком медленно для наших требований. Есть ли способ лучше?Общая память без файлов с отображением памяти
ответ
Вы уверены, что файлы с отображением в памяти медленные? ОС отображает один и тот же фрагмент ОЗУ в оба пространства процесса (при его переадресации). Другие виновники проблем с производительностью могут быть мьютексами и другими примитивами синхронизации/изменчивыми чтениями и недействительностью кэша для распространения параллельных изменений в памяти между процессами.
Возможно, вы попытаетесь внести изменения локально в не разделяемую область, а затем массовое копирование, а не многократно записывая в общую память.
Другие альтернативы - это передача сообщений, RPC или DCOM, но я сомневаюсь, что они будут более эффективными, особенно если количество передаваемых/связанных данных велико.
Я бы подумал, что как только вы установили карту памяти (с MapViewOfFile), это будет довольно быстро.
Является ли ваша проблема с производительностью фактической настройкой сопоставленной памяти, а не ее использованием после ее настройки?
Если у вас действительно есть проблема с файлами с отображением памяти, это еще один способ: http://msdn.microsoft.com/en-us/library/h90dkhs0%28VS.80%29.aspx (сегменты разделяемой памяти DLL), но я сомневаюсь, что это действительно поможет вам.
- 1. Зарезервировать физическую память для файлов с отображением памяти в Linux
- 2. Как освободить физическую память при использовании файлов с отображением памяти?
- 3. Именование файлов с отображением памяти
- 4. Одиночная ценность Общая память/свободная память Свободная память/общая память
- 5. системный вызов памяти с отображением файлов - linux
- 6. Общая память с докером
- 7. Общая память + каталоги POSIX
- 8. C# с использованием файлов с отображением памяти
- 9. Почему общая память быстрее глобальной памяти?
- 10. общая память и текстура памяти в opencl
- 11. В чем преимущества файлов с отображением памяти?
- 12. Недостатки использования файлов с отображением памяти
- 13. Windows-защищенная общая память
- 14. Постоянная общая память GPU
- 15. Общая память устройства UWP
- 16. визуальная студия и общая память
- 17. , где распределяется общая память?
- 18. Общая память между процессами python
- 19. Общая память POSIX и msync
- 20. Общая память между потоками
- 21. общая память и константы
- 22. Общая память в C
- 23. electronic.atom.io и общая память
- 24. cuda - Память с нулевой копией, файл с отображением памяти
- 25. Защищенная общая память?
- 26. Общая память Linux
- 27. mod_fcgi + APC + Общая память
- 28. Общая память в mpi4py
- 29. Общая память с массивом структур
- 30. Общая память, отмеченная как виртуальная память?
Согласен. Если это слишком медленно, я думаю, что это проблема синхронизации, а не проблема с отображением памяти. –