Microsoft's Bing search engine now runs on an open-source platform - .NET Core 2.1, to be precise.
Famous for chowing down on its own dog food, Microsoft's admission is not altogether surprising. What does raise a bushy eyebrow is how capable it shows the open-sourced framework to be.
Bing – for those that rarely venture beyond the ad-festooned walls of Google or won't leave the realms of DuckDuckGo without a handy tinfoil hat – handles thousands of search requests every second using servers spread over many data centres across the globe.
Keeping the service running and responsive is therefore a high priority.
In the .NET blog post, Microsoft explained that while Bing has always run on the .NET Framework, .NET Core presented a problem due to missing functionality in the version 1.x product.
One would imagine the shrieking of the Bing development team is louder than that of the normal users of .NET, and by the time v2.0 rolled around, the vast majority of the gaps had been closed, and .NET Core was ready for Bing prime time.
The published results of the move to the .NET Core 2.1 platform seen by the Bing team are impressive, Microsoft claimed. Following deployment, the team has measured a 34 per cent improvement in internal server latency over the last two months. The code wranglers attributed this to a combination of the ReadyToRun functionality in .NET Core (meaning that code can be compiled as a pre-deployment step rather than Just In Time on the target machine) as well speed upticks in string handling and vectorisation.
Having to transform search data into HTML, compress it and lob it at the browser will certainly exercise string handling functions, and the team also gave a nod to support in .NET Core 2.1 for the Brotli lossless compression algorithm as another factor in a speed boost.
With .NET Core 3.0 inbound for 2019, featuring all manner of AI and Machine Learning bells and whistles, Microsoft is able to wave vaguely at the Bing.com team as a sign of its commitment to the platform. ®
Sponsored: Webcast: Simplify data protection on AWS