May 21st, 2015
Microsoft has a long history of collaborating with industry technology leaders to bring the world the best-in-class PC and device experiences. These efforts now also extend to enhancements in the web browsing experience as well. Intel is a great example of a key technology partner who is investing and collaborating with Microsoft to advance the web.
Intel’s contributions in the latest Windows 10 Insider Preview
Over the last few years, Intel has been helping with the analysis of specific performance bottlenecks in the Chakra engine. Intel’s direct contributions to Chakra first landed back in the Windows 8.1 timeframe and are ongoing for Windows 10. Some examples of Intel’s direct contributions to Chakra’s JIT compiler include better instruction selection and scheduling. They’ve also helped us identify opportunities of missed redundant instruction elimination, and inline overhead reduction. All up, these changes have helped Chakra reduce code size and perform better for specific payloads.
As a part of broader collaboration between Intel and Microsoft on Windows 10, Intel engineers are collaborating with us closely to implement Single Instruction Multiple Data (SIMD), a future ECMAScript proposal, in Chakra and Microsoft Edge. SIMD exploits data level parallelism by utilizing specific SIMD hardware instructions, which are supported in most of the modern chipsets regardless of the architecture types. SIMD exploits data level parallelism by utilizing specific SIMD hardware instructions, which are supported in most of the modern chipsets regardless of the architecture types. The SIMD instruction set enables performing the same operation on multiple values simultaneously, thus providing much faster code execution when working on data vectors. For example, two data vectors of size four could be added via a single SIMD instruction as compared to four individual add operations. Apart from the performance benefits, getting more done with less instructions also has a positive impact on battery life.
|Single Instruction Single Data:
Four add operations to add the values in two vectors
|Single Instruction Multiple Data:
Single add operation to add values in two vectors
To see the demo exposing the benefits that SIMD can provide:
- Navigate to about:flags in Microsoft Edge
- Toggle the “Enable asm.js” flag
- Visit the SIMD Mandelbrot demo
- Use Start, Stop, Use SIMD buttons to run the demo
In addition to the partnership on Chakra, Intel has recently started contributing to performance improvements in the graphics, layout, and other subsystems of Microsoft Edge as well. As an example, Bryan Bernhardt and Gabe Esteves of Intel recently contributed an optimization to improve navigation (load) time for pages containing several inline elements, optimizations to reduce DOM parse times for text-area elements, and participated in investigations and root cause analysis to improve page load/response times for the Microsoft Edge browser on Windows 10. And this is only the beginning.
Congratulations to the Intel Team on their contributions to Microsoft Edge so far! We are looking forward to continue to work closely together to move the Web platform forward! Let us know what you think via @MSEdgeDev or in the comments below.
– Rob Hwacinski, Principal Program Manager Lead, Microsoft Edge
– Gaurav Seth, Principal Program Manager Lead, Chakra
– Juan Rodriguez, Senior Principal Engineer, Windows Operating Systems Division, Intel Corporation