ASP.NET performance optimization talk

Aug 20, 2008

Next Tuesday the 26th, I’m giving a talk about advanced ASP.NET performance optimizations at the Copenhagen .NET User Group. It’s being held at Microsoft’s head quarters in Hellerup and everyone is welcome to swing by from 4pm to 6pm. It’s a great way to get to know the local Copenhagen .NET community and hopefully be part of some great discussions.

My talk will be about the more advanced performance techniques and not the standard viewstate optimization and database caching. I’m doing some demos where we can monitor the individual technique’s performance impact, which is going to be really cool.

At 7pm it’s time for the fourth Copenhagen geek dinner. It’s a great way to end the user group meeting. If you can’t make it to the meeting at 4pm, then you are still more than welcome to join the dinner. Sign up for the geek dinner or just show up.

Best of all, ZYB has once again agreed to pay for the beer so leave the car at home. See ya there.

* $4.95/month BlogEngine.net Hosting – Click Here!

Comments (12) -

Nikolaj W
Nikolaj W Denmark
8/20/2008 5:00:32 PM #

Hmm, på CNUG sitet står der 17-19. hvilken tid er den rigtige ?

Mads Kristensen
Mads Kristensen Denmark
8/20/2008 5:13:55 PM #

It is 16-18

Daoming
Daoming United Kingdom
8/20/2008 6:49:38 PM #

shame, I cannot make it.

Miron
Miron Israel
8/20/2008 7:36:01 PM #

It will be great if you can publish the content of your talking and demos for us that can't be there.
Good luck

Morten Krog
Morten Krog Denmark
8/20/2008 9:53:42 PM #

Vil gerne deltage i geek dinner, men jeg har ikke tænkt mig at melde mig ind i Facebook-kulten for at få lov at komme Smile....

Domenic Denicola
Domenic Denicola United States
8/21/2008 1:58:52 AM #

Hey Mads,

This seems like a somewhat-appropriate thread for this...

I've always wondered something about all your performance tips, specifically the ones that involve using HTTP handlers and modules to rewrite the response, consolidate/minify JavaScripts, etc. Namely, are you at all concerned about the costs of doing this kind of processing every single request?

The reason I bring this up is that I read this blog post:

msmvps.com/.../...or-faster-parallel-download.aspx

where the author is writing a HTTP module for somewhat-similar purposes. He pays a lot of attention to the performance of his code, e.g. string manipulation and so forth. In contrast, all of your code involves immutable-string manipulation, wholesale conversion from byte arrays to strings, regular expressions, etc.; quite a difference.

Please note I'm not saying this to be critical; rather, I'm asking for some honest help in figuring out what's important here. Maybe all those optimizations from the above post really aren't necessary? I don't know; my website gets like 5 visitors a day or so.

Thanks!

TweeZz
TweeZz
8/21/2008 4:49:00 AM #

Domenic,

Correct me if I'm wrong, but some of the optimizations Mad wrote about are not done on every request. I'm sure that's the case for the javascript and css combiners, compressors. There the combined js/css is cached on the server (and client) for every combination of files that's used on 1 aspx page.

Mads Kristensen
Mads Kristensen Denmark
8/21/2008 5:27:09 AM #

@Domenic,
It's important that you cache the response of your handlers, so you only have to run that code once per application life cycle. Then maintainable code is more important than super-high efficiency for something that only run once.

Miron
Miron Israel
8/21/2008 11:25:03 AM #

Domenic have something in his point,
Blogengine.NET js & cs minifiers have massive use of big strings manipulation.
More then performance, it will have memory impact (special with big files)
Although the results are saved in the cache, as nature of the cache, it will not stay long there (special in big sites), what means, the minify process will be lot more than once in app life-cycle.

Cristiano
Cristiano Italy
8/21/2008 12:39:52 PM #

Hi Mads,
I know that are still off-topic, but I have finally developed an extension for BlogEngine.NET to add editing and managing comments feature.

If you want to take a look:
www.cristianofino.net/.../...on-BlogEngineNET.aspx

Cheers.

Mads Kristensen
Mads Kristensen Denmark
8/21/2008 12:55:12 PM #

@Miron,

That is insignificant since you can prioritize the items in the cache and make them never expire. Besides, it doesn't use as much memory as you might think. A couple of MB at most. Probably not even one.

Hartvig
Hartvig Denmark
8/27/2008 6:22:39 PM #

I'm with Mads here.

The development in processing speed and costs of computing power and memory is approaching zero while cost of talented developers are somewhat stable. At the same time, requirement for code changes/adjustments are more and more often (the lifecycle of code in getting shorter and shorter), which means that code maintenance is much more important.

Comments are closed

About the author

Mads Kristensen

Mads Kristensen
Program Manager at the Microsoft Web Platform team and founder of BlogEngine.NET.

More...

Month List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.