For those of you that are familiar with DotNetNuke (DNN), you know that although it is not a "slow" application, it has its moments. Also, ANY application can benefit from performance enhancements. I just sent a few to the DotNetNuke team.
My only goal in this submission was to optimize the misuse of string concatenation and evaluation. For instance, using String.Concat and StringBuilder in place of the standard string concatenation method ("&", and "+"). I have literally seen some applications become 500% faster with this simple change. The exact speed benefit depends on a number of factors, but if you have strings, they are processed slower than most other portions of your code.
Here is a DNN thread where I first proposed this to the DNN community.
So, based on the feedback on the forum, and my own experience, I refactored two of the most accessed code files in the DNN project: Default.aspx.vb, and SqlDataProvider.vb.
Here are the issues I created on the DNN support site where I submitted the refactored class files:
Let's hope that the Core Team likes them. Should this go well, I will continue to refactor code whenever I can for string optimization. I cannot promise anything, but I would like to help the DNN project whenever I can. :)
Let's keep our fingers crossed for an even faster version of DNN in the near future!
* UPDATE 12/29/2007
I just submitted another update to Gemini. This one is for the HttpModules project and includes all of the aforementioned string enhancements.