1 / 26

New Innovations in the .NET Runtime

New Innovations in the .NET Runtime. Andrew Pardoe (andrew.pardoe@microsoft.com) Program Manager, .NET Runtime. .NET (A *Very* Simplified View). Questions? . Answers: http:// blogs.msdn.com/b/dotnet. What are we hearing from you?. Every company is becoming a software company. .

ivana
Download Presentation

New Innovations in the .NET Runtime

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. New Innovations in the .NET Runtime Andrew Pardoe (andrew.pardoe@microsoft.com) Program Manager, .NET Runtime

  2. .NET (A *Very* Simplified View)

  3. Questions? Answers: http://blogs.msdn.com/b/dotnet

  4. What are we hearing from you? Every company is becoming a software company. Enterprise software needs to be innovative, agile and polished. Line of business apps must be cross-device. Open Source enriches the platform and the community. Enterprises have existing applications to evolve and keep running.

  5. Our investments in .NET Open • .NET is open and community-driven .NET Productive • .NET skills transfer to many scenarios VS SDK Innovative • .NET will continue to be relevant

  6. Session overview • .NET Framework 4.5.1 4.5.2 • ASP .NET vNext and cloud-optimized .NET • Portable Class Libraries & Universal Apps • .NET Native • RyuJIT modern JIT compiler

  7. .NET 4.5.2 available for download • Highly compatible, in-place update of .NET 4, 4.5 • Incorporates feedback from 4.5.1 release • 7 major features, 109 bug fixes • ASP.NET improvements • HostingEnvironment.QueueBackgroundWorkItem • HttpResponse.AddOnSendingHeaders • HttpResponse.HeadersWritten • High DPI rendering improvements in Windows Forms controls DataGridView, ComboBox, ToolStripMenuItem, Cursor • Distributed Transactions enhancements • More robust profiling APIs for better dependency injection • ETW-based tracking on a larger .NET Framework surface area • Improved activity tracing support

  8. .NET Ecosystem Open • Share early and share often Consistent • .NET is .NET, everywhere Feedback • Your feedback drives our work

  9. ASP .NET vNext • New, modular, modern web stack • Ships .NET Framework as part of your web app • Servicing events limited to critical security issues • “Cloud optimized” framework ships with CoreCLR

  10. Making your .NET knowledge more valuable Shipping APIs across platforms on NuGet Improved options for sharing code Feedback-driven • Shipping faster and across more platforms with NuGet • Problems: • Support • Discoverability • Not every core API is portable across platforms (e.g., file) • Portable Class Libraries improved for scalable, cross-device sharing • Universal Projects enable sharing of source and assets • Shipping much more often • Make changes due to UserVoice and bug reports • Using light-weight public previews to collect feedback

  11. http://visualstudio.uservoice.com

  12. http://visualstudio.uservoice.com

  13. Sharing is good • Microsoft NuGet packages and Portable Class Libraries (PCLs) are licensed to work cross-platform • PCLs work in Visual Studio Express & Xamarin tools

  14. Sharing more is better • Portable Class Libraries can depend on WinRT APIs • PCLs can be exposed to other languages as WinMD • WinRT is converging across Windows platforms • Increasing the set of APIs available on all platforms

  15. Universal Windows Apps • Share source & assets between Windows 8.1 and Windows Phone 8.1 platforms • You can even share XAML UI in the designer • Share your project directly—no need to create Portable Class Library binaries • Create an app for both platforms from one project

  16. Universal Windows Apps Conditional constants… #if WINDOWS_PHONE_APP Windows.Phone.UI.Input.HardwareButtons.BackPressed+= this.HardwareButtons_BackPressed; #endif …drive IntelliSense, syntax highlighting, emulators, etc.

  17. http://SourceOf.net • Completely new browsing experience with search and navigation powered by Rosyln • Hyperlinked source code • Browsing features include • Go to definition • Find references • Highlight references • Document Outline • Project Explorer • Namespace Explorer Step through .NET Framework sources when debugging your code Browse .NET Framework source code online

  18. Session overview • Continued investment in full .NET Framework • ASP .NET vNext and a cloud-optimized .NET • Portable Class Libraries & Universal Apps • .NET Native • RyuJIT modern JIT compiler

  19. .NET code generation: A primer MSIL bytecode Source code (C#/VB/F#) Machine code C#/VB/F# compiler Code generation • Code generation is done either…. • Lazily at runtime with a Just-In-Time, or JIT, compiler • Optimistically at build time with NGen, Triton or .NET Native

  20. .NET Code Execution today C++ Performance Self-contained apps Dynamic experience “Unlimited” class libraries

  21. .NET Native (Project N) • Next Generation Compiler in the Cloud builds upon Triton for Windows Phone • Apps compiled with .NET Native start up to 60% faster and use ~25% less memory • Developer Preview available at http://aka.ms/dotnetnative Wordament on .NET Native:

  22. Visual Studio Experience for .NET Native Debug and test your app with .NET Native Enable .NET Native for your project

  23. Just-In-Time (JIT) compilation A compiler’s performance is measured in two ways: • Throughput measures how fast a compiler generates app code. Because a JIT compiler runs before user code throughput dominates startup. • Code quality measures how fast the generated code runs. Code quality matters most in a long-running process where code is JIT compiled once and run for a long time. • 32-bit JIT emphasizes throughput over code quality • 64-bit JIT emphasizes code quality over throughput

  24. RyuJIT performance CTP3 vs JIT64, code quality

  25. RyuJIT is a modern JIT compiler • RyuJIT is based on JIT32 for fast throughput • RyuJIT brings optimizations from JIT64 for great code quality • Having one JIT codebase means faster innovation • First new feature: SIMD in CTP3 • More new features to come including x86 & ARM support • Try out CTP3 today: http://aka.ms/RyuJIT

  26. We would love to hear from you! Blog E-mail dotnet UserVoice MSDN Forums @dotnet

More Related