Matlus
Internet Technology & Software Engineering

Tagged With: Performance

ASP.NET Response.Redirect Performance Issue

This is a short post and I'm writing this because I've seen a lot of people using or and not using the overloads:
So rather than repeat the same thing over and over, I've decided to write a blog post about it in the hopes that others may find it and learn from it[...]

HttpWebRequest - Asynchronous Programming Model/Task.Factory.FromAsyc

The Asynchronous Programming Model (or APM) has been around since .NET 1.1 and is still (as of .NET 4.0) the best/recommended solution for asynchronous I/O. Many people go down the route of using a multi-threaded approach to try get speedup when the workload is I/O bound. Using multiple threads to do I/O bound tasks such as Disk I/O and Network I/O, won't (in most cases) give you any speed up and in fact could end up hurting performance. If the workload is compute bound (rather than I/O bound) then it makes complete sense to use multiple threads (provided you have multiple cores and the work is fairly long running and so justifies the overhead of spawning and managing multiple threads), as discussed in this post [...]

Data Parallel – Parallel Programming in C#/.NET

In .NET 4.0 Microsoft have introduced a slew of support for parallel programming. Parallel programming is not something you can ignore any more since CPUs are not getting any faster but instead the number of cores per CPU is increasing and unless we as software engineers begin to use all cores available on a given machine our software is not going to get any faster. There was a time when multiple CPUs were only available on servers and server side application platforms such as IIS are inherently multi-threaded so if we were building an ISAPI or ASP[...]

Fastest Website on the Planet!

During the design and development of Quartz for ASP.NET and Orion, performance was an extremely important area I focused on. Optimizing a framework such as Quartz for ASP.NET is important because other websites and application will be built using it and I believe it is imperative that frameworks pay close attention to performance[...]

Orion - A Blog Engine

Orion is a high performance blogging engine written using the Quartz for ASP.NET framework. This blog is now powered by the Orion engine, so what you see by way of features, function and speed (responsiveness) is what you get with the Orion engine and of course the Quartz for ASP.NET framework. I was initially using WordPress for my blog (this blog) and eventually just got tired of having to deal with some of the nuances of WordPress and more specifically the theme I was using[...]

Data Access Layer CodeGen

In an earlier article (DataReader Wrappers – Type Safe) I talked about using a DbDataReader wrapper class that allowed you to use a DbDataReader in a strongly typed way giving you the following additional benefit: The ability to use a DbDataReader as an IEnumerable<T>, giving is a performance advantage over other options because there is only ever one instance of the wrapper class created no matter how many records you've got[...]

C# Class Factory - High Performance

There are many scenarios in software design where a factory comes in handy. Essentially, when you use a family of classes polymorphic-ally, you could benefit from using a Factory. Typically a factory provides the following benefits:
  1. Decouples the client code (your code that uses these classes) from knowing how to create instances of concrete types
  2. Decouples the client code from knowledge of the concrete classes themselves. That is the client code knows only of the abstract base class or an interface but not the derived or concrete class
[...]

ASP.NET Performance-Instantiating Business Layers

The typical model of instantiating your Business Layer or business classes is to create an new instance each time you are servicing a request. That is, in your page or controller, you create a new instance of your business layer. Is there another way to do this and what would be the advantages? And would it be thread-safe? Yes, there is and the option I'll be presenting in this post has a few advantages as well. However, before we going into the details of this option we need to understand how things work insofar as IIS and the ASP[...]

DataReader Wrappers - TypeSafe

DataReaders (), in .NET give you the fastest access to your data. There is nothing that beats the speed of DataReaders. However, there are a few drawbacks to using them
  1. No Type Checking
  2. If field ordering or field name changes in your stored procedures or queries will likely break your code
  3. Code that uses DataReaders tends to be not so clear to read
Here is a example of what the typical code looks like: Lets say we have a blog item record that has the following fields: [...]

Quartz for ASP.NET

The genesis of Quartz for ASP.NET was what I felt were some Problems with ASP.NET MVC Framework Design. Quartz for ASP.NET can be used in conjunction with ASP.NET MVC or in regular ASP.NET WebApplication/Website projects (without any WebForms). It works the same either way.  

Videos and Downloads

There are a few Videos in the Videos section
[...]