Search code examples
.netperformancecomwindows-runtimecom-interop

What about performance with COM in WinRT?


I now understand that WinRT is an API on top of several implementations (Win32 for example) but provided it in an"Oriented Object" way thanks to COM, and the new ECMA 335/CLI metadata. (see How does Windows 8 Runtime (WinRT / Windows Store apps / Windows 10 Universal App) compare to Silverlight and WPF?)

As a .Net developper, I always learned to avoid as much as possible P/Invoke, COM or every "external/interop" calls because of the bad performance. (if we can use a C++/CLI wrapper for native library calls it's always better)

  • Are the performance of the COM WinRT API better as traditional COM ?
  • If so, is it thanks to the ECMA 335 metadata or a new implementation?
  • What do we have "hunder the hood"?

Solution

    • Are the performance of the COM WinRT API better as traditional COM ?

    There's no magic in a WinRT object that makes it execute faster than an equivalent traditional COM object. They are both COM. What will be faster though, is the time to market - WinRT is a lot easier to deal with as a developer.

    • What do we have "hunder the hood"?

    You answered to that already by yourself.