Какие-либо документы, в которых исследуются проблемы производительности и стратегии оптимизации, доступные для приложений COM на основе C ++?

Предостережение: я не уверен, можно ли считать это правильным вопросом программирования SO!

I столкнулся с серьезным снижением производительности при работе с MS Office Suite в основном из-за миллионов вызовов COM, которые я делаю для обработки документов. Частично проблема была решена за счет использования OOXML SDK вместо использования API собственного приложения. Однако OOXML SDK сам выполняет вызовы COM, и это замедляет работу (да, я должным образом запустил как встроенный анализатор производительности Visual Studio, так и BoundsChecker, и убедился, что алгоритмы являются лучшими из тех, что мы можем использовать). Я полагал, что уровень кэширования немного ускоряет работу (иногда сокращая время выполнения на одну четверть) (но, очевидно, ускорение зависит от моего шаблона доступа, который, в свою очередь, регулируется структурой содержимого документа).

Учитывая тот факт, что и COM, и C ++ существуют так давно, я с удивлением обнаружил, что существует так мало материала по оптимизации приложений COM на основе C ++. (Быстрого поиска в Google должно хватить, чтобы доказать мою точку зрения, хотя я бы не возражал против того, чтобы меня опровергли!)

  • Так что было бы здорово, если бы вы, ребята, помогли мне выкопать несколько соответствующих документов из глубин Интернет.
  • Кроме того, (поскольку моя работа настолько очевидна) стоит ли записывать мой опыт в виде статьи?

Edit: Пояснение: Я не ищу альтернативы (так как уже слишком поздно менять базовый вариант). Мне интересно узнать о схожих проблемах, с которыми люди могли столкнуться в прошлом, и о том, как они обходили ограничения.

12
задан dirkgently 16 June 2011 в 20:54
поделиться