.NET 4.5 in Practice: Bing

Play .NET 4.5 in Practice: Bing

The Discussion

  • User profile image

     You can see the series of conversational interviews we did here.

    Link not working, actually. 

  • User profile image

    Watching this video, I had to wonder if all the GC and Jit perf issues are big concerns, why was .NET the best choice for the work?
    I would be interested if .NET has been the natural choice for Bing because it is such a massive application(for example, Google runs on native code / same for Facebook...)
    Is this because there is no ASP.native or are there other reasons to build a massive non-native application?

    I am pointing this out, because at work (@fortune 500 company), we use java and .net for all server applications and our main reason is developer productivity and not performance (most of our java and .net devs don't care much about efficiency).

  • User profile image

    Managed code developers that do not care about performance are just not developers.

    Thats why every day real developers have headaches because some monkeys thought "hey dude ill just make this work and go home to have a banana, because its just managed code".

    A good developer assures that the job he does is a well done job, else try another job, so we will all be more happy.

    PS: .NET can be made even more perfomant and bug free, of course that will require more work and many people are just to lazy and most of them never used an unsafe method for example if that would have produced a gain in performance. (my opinion Smiley ).

    In future of .NET languages i hope there will be more posibilities that tend to the power of C/C++, so you can explore the performance part also, that would give .NET a boost advantage over other languages.

  • User profile image

    @Manuel, @freeman1902

    Right tool for the right job. That's the key.

    Increasingly (and it has already reached that point for 99%* of applications, as exemplified by Bing), managed code will pay more dividends as the bottleneck continues to not be the CPU.

    One has to realize that while safe/managed code has overhead like array bound checks, for example -- these are often dwarfed by the applications memory access patterns, and code performance is generally dictated by locality of reference. And, if you're I/O-bound, you have a totally different set of problems to solve.

    But, of course, one can contest that this is not always true. Sometimes you are truly compute-bound like looping over an array that say fits inside the processor's fastest cache. Even in this case, it's not like the JIT-compiler is going to do something bizarrely different. It just has to be safe. Oh, and there is a time-component involved, because JIT-compiler optimization have to justify the time taken to generate the optimized code.

    Sigh, I digressed.

    Back to the question about Bing's GC and JIT improvements (TechNet blog post). The point I think the video is trying to drive home is that developing on an established framework, like .NET, gives you these "free gains". You didn't change a line of code, yet you reaped benefits.

  • User profile image
    Steve Wortham

    There's also a strong case to be made for .NET in terms of how well-crafted and well-documented the framework is, and how many of the common tasks are made very easy by the framework.  

    So this has a couple advantages over most unmanaged languages:

    1. It's easier to write correct code.

    2. In general it requires less code to pull off most tasks.

    And then in a web server environment, more often than not the bottleneck is going to be in the database or data access side of things anyway.  So taking a small performance hit from using a managed language is probably not worth worrying about.  At least that performance hit is nowhere near that of something like Ruby.

  • User profile image

Add Your 2 Cents