![]() |
|||||||||||||||||||||
|
|||||||||||||||||||||
| September 8th , 2006 ___________________________________________ Windows CE 6 Performance After reading about all of the changes to the memory architecture in Windows CE 6 you are probably asking yourself about the performance impact of these changes. Windows CE 6 is still in Beta so measuring this directly at this time might give us a wrong impression. Especially since this is a core change in this release. But let's talk about the expected changes to performance that Microsoft announced at MEDC. Process Switching Architecturally, process switching is expected to be faster than it was on Windows CE 5.0. The OS will need to maintain a different page table for each process and be able to just switch to these new page tables for a given process switch. It will avoid updating the process memory access permissions, since all processes will be assigned a different virtual memory map. API Calls There are three main types of PSL function calls in Windows CE
Kernel Calls Kernel Calls should have a similar level of performance as they have in Windows CE 5.0. Kernel Mode PSL Calls Instead of leaving most of the PSL calls in separate applications, Windows CE 6.0 can call a large portion of these API calls directly into kernel space without the overhead of an interprocess call. Filesys, GWES, Device and your kernel mode drivers can all be directly called by KCoredll.dll through coredll.dll since they have been moved into the kernel process space. The system will perform a PSL jump, but it will save the time necessary to flush the cache and remap the process into slot 0. This should improve things such as networking, graphics and file system accesses. In addition, the old model frequently would call multiple APIs in multiple processes. This can be very expensive depending on your processor architecture. This is one of the areas that should show the greatest perf improvement. Interprocess Calls Interprocess calls not associated with Filesys, GWES and Device and your kernel drivers are expected to be more expensive since the system will now need to use data marshalling to help perform this task. Memory Allocation Memory allocation should perform equally on Windows CE 6 as it does on Windows CE 5.0. Footprint Changes Windows CE 6 is planned to increase the system footprint by about 5%. Testing these Changes It is going to be very interesting to see the final performance metrics of Windows CE 6. When the product is released I want to run some performance tests on Windows CE 6 and Windows CE 5.0 and compare these on identical platforms. I will start by focusing on IE, networking and file system performance since I think that based on these architectural changes, they have the potential of having some interesting improvements. Q and A Session Question: In your blog ur talking about device.exe and udevice.exe but as per jason prev blog in WincE6 they have changed these to dll's here is what he wrote In addition to the new memory model filesys.exe, gwes.exe, device.exe and coredll.dll are structured. As can be seen from the diagram below all of these modules that were previously separate applications have now been converted to dlls. device.exe or device.dll in ce6 Answer: The functionality that previously existed as device.exe has been moved into the kernel as device.dll. Device.exe no longer exists. References in the blog to device.exe were comparisons to CE5. You can find this described in my blog posting under the Kernel Mode Drivers section. . . . . . . . . . . . . . . . . . . . . . . .
|
|||||||||||||||||||||