.NET Native Performance and Internals

April 28, 2014

Introduction to .NET Native.NET Native is a compilation and packaging technology that compiles .NET applications to native code. It uses the C++ optimizing compiler backend and removes the need for any JIT compilation at runtime and any dependency on the .NET Framework installed on the target machine. Formerly known as "Project N", .NET Native is currently in public preview and this post explores the internals of the compilation process and the resulting executable's runtime performance.At this time, .NET Native is only available for C# Windows Store Apps compiled to x64 or ARM, so the experiments below are based on...
4 comments

C# Vectorization with Microsoft.Bcl.Simd

April 22, 2014

tl;drA couple of weeks ago at Build, the .NET/CLR team announced a preview release of a library, Microsoft.Bcl.Simd, that exposes a set of JIT intrinsics on top of CPU vector instructions (a.k.a. SIMD). This library relies on RyuJIT, another preview technology that is aimed to replace the existing JIT compiler. When using Microsoft.Bcl.Simd, you program against a vector abstraction that is then translated at runtime to the appropriate SIMD instructions that your processor supports.In this post, I'd like to take a look at what exactly this SIMD support is about, and show you some examples of what kind of...
12 comments

Wrapping Up TechDays Netherlands 2014

April 17, 2014

What a crazy week it was! On Monday evening I was totally stuffed from the traditional Passover dinner at my parents' house, and on Tuesday morning I was already flying to Amsterdam for TechDays Netherlands 2014 to deliver three talks on Azure Mobile Services and Notification Hubs. Thanks everyone for coming to my talks and I'm sorry for the botched demo at the end of the third one -- there's only so many times you can tempt the demo gods before something goes wrong, and in this case it was the Internet connection (both wired and wireless) towards the end...
2 comments

Wrapping Up DevWeek 2014

April 6, 2014

I have landed from London six hours ago after a wonderful week at DevWeek. Three talks and a workshop made for a pretty busy schedule, but I still had time to enjoy London, with its unusually sunny weather. What's New in C++ 11 My first talk, at 9:30am in the morning, attracted a small audience of C++ developers. C++ 11 is a very extensive new standard, and if you read code developed in the modern C++ style, you might think it has nothing to do with your favorite language of the 1990's. Indeed, I tried to illustrate the major...
2 comments