66433 members! Sign up to stay informed.

Sponsored Links


Resources

.NET Research Library
Get .NET related white papers, case studies and webcasts

News News News Messages: 3 Messages: 3 Messages: 3 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

TechTalk: Jeffrey Richter on CLR Performance and Multithreading

Posted by: Paul Ballard on September 08, 2005 DIGG
In this TechTalk, Wintellect's Jeffrey Richter talks about performance improvements in the 2.0 CLR and then discusses how the CLR team tunes the Garbage Collector with each new version. He also discusses a new high scalability framework he has been working on for Microsoft and how multithreading will become more important in the next version of the .NET Framework beyond 2.0.
I know the runtime team in version 2.0 has spent a lot of time improving performance of the runtime. They have really done a lot to try to reduce working set, which means the amount of memory that is required while your program runs, they try to reduce that a lot. In general, programmers know that when they optimize code you can optimize for speed or size. What we have learned with Windows over the years and this applies to managed code as well running under Windows is that in general when you optimize for size, reduce the amount of memory needed, you are also optimizing for speed as well because if you are program needs less memory that means your operating system will do less paging inside memory when paging means that the operating system is going out the disc and loading things off disc, which requires speed significantly when that happens. So the runtime team has spent a lot of time trying to optimize for space, memory usage, and that in turn will give them improvements in speed.
He also dispels some myths about the performance improvements provided by the NGen utility as well as the need for obfuscation.
Another thing to be aware of is that really most applications don’t have intellectual property worth protecting. Nobody cares how your file exit menu item works, how your file open, your file save, your help about, your edit copy, your edit cut, your edit paste, most of these things that are very common with a Windows form application is pretty standard code, then there is no real intellectual property there that is worth protecting. If you do have some parts to your program that has IT that is worth protecting you could consider writing that in unmanaged code and the rest of your application you write in managed code, so you will have real easy life from almost 99% of the stuff you are doing and the couple of things that you think will really set you apart from the competition you write that in unmanaged code and use the runtime interop facilities to get out to it in order to execute that code.
After briefly discussing how he manages to balance working in and outside of Microsoft, he discusses some of the work he's done lately for Microsoft around telecommunication frameworks that involve custom garbage collection tweaks, WSE 3.0, and scalability.
We have spent a phenomenal amount of time on scalability and performance. You can imagine there are millions of cell phone customers out there and they might all be trying to do this simultaneously. We need to create a session state object on the server for each of these people. We want to get a lot of scalability on these servers having 64-bit Windows actually and Whidbey supporting 64-bit version is going to be huge for us. That’s really going to make it so we can support millions and millions and millions of customers on one box very efficiently. We are really looking forward to switching to Whidbey for that purpose. Also, WSE, we found that performance of it to not be so great. We are hoping that Indigo’s performance is significantly better and our preliminary tests show that it is.
Lastly he says that Moore's Law no longer applies and talks about how threading will become increasingly more important as hardware manufacturers begin to develop multicore processors.

Watch Jeffrey Richter on CLR Performance and Multithreading
  Message #184120 Post reply Post reply Post reply Go to top Go to top Go to top

Most Applications have intellectual property to protect

Posted by: Mike Marsh on September 11, 2005 in response to Message #183947
Another thing to be aware of is that really most applications don’t have intellectual property worth protecting. Nobody cares how your file exit menu item works, how your file open, your file save, your help about, your edit copy, your edit cut, your edit paste, most of these things that are very common with a Windows form application is pretty standard code, then there is no real intellectual property there that is worth protecting. If you do have some parts to your program that has IT that is worth protecting you could consider writing that in unmanaged code and the rest of your application you write in managed code, so you will have real easy life from almost 99% of the stuff you are doing and the couple of things that you think will really set you apart from the competition you write that in unmanaged code and use the runtime interop facilities to get out to it in order to execute that code.

I would disagree that most applications don't have intellectual proerty to protect. I agree that most programs are not protecting Coca Cola's secret formula but all have a work effort to protect. If you are paying for that work effort, rather than being paid for the work in the program, your perspective changes. There are potential financial costs using unmanaged code when your shop is "99%" managed code. Microsoft should provide protection for all intellectual property in managed code...both work effort and secrete formulas.

  Message #184211 Post reply Post reply Post reply Go to top Go to top Go to top

Most Applications have intellectual property to protect

Posted by: Piotrek z on September 13, 2005 in response to Message #184120
I agree with Mark, this explaination (on open/copy/paste) is not serious

Software vendors must protect their work. But not only them

I've done many projects in financial and insurance aera, their purpose was to apply secret formulas to build some offers.
And I suppose that many other kinds of applications need to keep some processes secrets (users are the number one threat)

Having to keep secret code unmanaged is not the kind of response I expected... but performance optimisation is a hard work that take days and nights, I'm sure that Richter was a little tired and that he wanted to pass a general idea rather than a practical solution

  Message #184787 Post reply Post reply Post reply Go to top Go to top Go to top

code protection & multi-threading

Posted by: Mike Marsh on September 16, 2005 in response to Message #184211
I see Richter's code protection comments are a value judgement or even philosophical comment. One man's ceiling is another man's floor. A genius will de-value a "trivial" solution, whereas a mere mortal may value the same "trivial" solution. Philosophically, nothing is new since the Big Bang just how things are combined and interact. However, people make money by novel combinations of simple objects.
Beyond the value-philosophical issue are other practical considerations of protecting code (beyond even obfuscation). One example would be a managed code licensing component. You would not have to decompile-deobfuscate the whole application just the license to use and distribute an application freely.

Getting to his main thrust regarding multi-threading...
I know their are tools, such as DevAdvantage, that will detect and correct improper multi-threading after it has been coded. Is anyone aware of a tool, for managed code, which can detect where in an app multi-threading would improve performance and then automatically implement suggestions?

 
New content on TheServerSide.NETNew content on TheServerSide.NETNew content on TheServerSide.NET

DSLs and language interop

Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.

VS 2008 Resources

SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.

VB code downloads home

VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.

XAML Learning Guide

Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]

Company uses VSTS DB edition to tame workflow

One team's experience with the VSTS DB edition suggests that it can improve workflow for dev teams. It also enhanced Agile efforts. (June 24, Article)

Book: Intro to DSL Tools

Microsoft has begun to include DSL tools in the VSTS kit. A new book by Steve Cook and other VSTS team members helps set the stage. (June 24, Article)

I See the Silverlight Shining!

Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server . (June 18, Cartoon)

A look at .NET 3.5

Microsoft's Thom Robbins says new technology to highlight in NET 3.5 includes AJAX, LINQ for both C# and VB, as well as tooling enhancements intended to ease the task of building WPF, WF and WCF apps. (June 29, Podcast)

Venkat Subramaniam on AJAX

Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience. (June 25, Tech Talk)

Building a Claims-Based Security Model in WCF - Part 2

In the second of a two-part series, Michele Leroux Bustamente discusses design decisions related to the claims-based security model. Read the story and walk through the process for creating a set of claims-based utilities to encapsulate claims authorization at the service tier. (May 24, Article)

Introducing the Entity Framework

Understanding why the Entity Framework exists and learning where it can fit into your projects can get you prepared for the eventual release early next year. (May 10, Article)

WCF Security Learning Guide

Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information. (April 24, Article)

Brad Abrams: Patterns for successful ASP.NET AJAX development

TSS.NET's Jack Vaughan spoke recently spoke with Microsoft's Brad Abrams to find out what he is seeing in the field and what the chefs in Redmond are cooking. Along the way he discusses patterns of AJAX frameworks. (April 11, Article)

Building a Claims-Based Security Model in WCF

In a two-part series, Michele Leroux Bustamente explains how claims-based security is supported by WCF, and how you can implement a claims-based security model for your services. (March 29, Article)

Authoring workflow using XAML

Windows Workflow Foundation is a new technology that many developers will need to get their heads around. In a brief excerpt adapted from Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#, K.Scott Allen considers aspects of workflow definition. (March 22, Chapter Excerpt)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map