Мое программное обеспечение активно использует COM. Это очень, очень медленно. Есть ли какой-нибудь трюк для ускорения связи COM?
Есть ли способ ускорить COM?
comment
Вы должны предоставить более подробную информацию - на чем написаны клиент и сервер, является ли сервер .exe или .dll, как именно вы заметили, что он неоправданно тормозит.
- person sharptooth   schedule 09.09.2009
Ответы (2)
Если вы еще этого не сделали, запустите компонент внутри процесса, а не в отдельном процессе сервера (dllhost.exe
).
person
mmx
schedule
08.09.2009
Киевели: Зависит от конкретной среды. На уровне API вы выбираете контекст создания COM-объекта, передавая соответствующий аргумент параметру контекста функции
CoCreateInstance
.
- person mmx; 08.09.2009
Что это значит? Извините, я немного зеленый, когда дело доходит до этого.
- person max; 08.09.2009
макс: Это, вероятно, то, что вы уже делаете. Вы должны добавить немного больше контекста к своему вопросу для более полезного ответа (или вы можете задать другой вопрос об оптимизации вашей конкретной ситуации, а не общий). А пока вы можете увидеть msdn.microsoft.com/ en-us/library/ms693716(VS.85).aspx для различных параметров (в отношении процесса), которые у вас есть при создании COM-объекта.
- person mmx; 08.09.2009
Запустите инструмент профилирования, чтобы точно определить, что вызывает медлительность системы. COM может показаться виноватым в хорошем дожде, но иногда медлительность вызвана вещами, которых вы не ожидаете. Не всегда та часть, которую вы понимаете меньше всего, вызывает проблемы.
Однажды все мое приложение работало медленно из-за используемой реализации пользовательской строки. Использование профилировщика спасло положение.
person
Kieveli
schedule
09.09.2009