.NET news » Performance Performance Rss Feed

< 1 2 3 4 5 6 7 8 9 10 11 >
Maximizing .NET Performance (Expert's Voice)
Author: Nick Wienholt
Average rating: 4.5 / 7
(7 reviews)
More .NET Performance books
download
9 Reusable Parallel Data Structures and Algorithms

This column is less about the mechanics of a common language runtime (CLR) feature and more about how to efficiently use what you’ve got at your disposal. Selecting the right data structures and algorithms is, of course, one of the most common yet important decisions a programmer must make. The wrong choice can make the difference between success and failure or, as is the case most of the time, good performance and, well, terrible performance. Given that parallel programming is often meant to improve performance and that it is generally more difficult than serial programming, the choices are even more fundamental to your success.

In this column, we'll take a look at nine reusable data structures and algorithms that are common to many parallel programs and that you should be able to adapt with ease to your own .NET software. Each example is accompanied by fully working, though not completely hardened, tested, and tuned, code. The list is by no means exhaustive, but it represents some of the more common patterns. As you'll notice, many of the examples build on each other.

10 Apr 2007, 19:00:00   Source: 9 Reusable Parallel Data Structures and Algorithms   Tags: Performance
Speed Test: Switch vs If-Else-If
The .NET framework and the C# language provide two methods for conditional processing where multiple discrete values can be selected from. The switch statement is less flexible than the if-else-if ladder but is generally considered to be more efficient.
24 Mar 2007, 00:00:03   Source: Speed Test: Switch vs If-Else-If   Tags: Performance C#
Improve Debugging And Performance Tuning With ETW
Event Tracing for Windows (ETW) provides general-purpose, high-speed tracing of events raised by both user-mode applications and kernel-mode device drivers. Learn how ETW can improve your development and debugging work.
12 Mar 2007, 19:00:00   Source: Improve Debugging And Performance Tuning With ETW   Tags: Debug Performance
Identifying NHibernate-Related Bottlenecks through Performance Monitoring
A distilled methodology for detecting and isolating NHibernate-related performance and scalability issues
Simple Performance Chart
The Simple Performance Chart is a UserControl that is designed and developed to display varying performance data like reads per second on a disk drive, the bandwidth for a server, or free CPU resources, in a visual, clean manner. It can be controlled by a built-in Timer, which makes synchronized display of values possible. The control offers several formatting options like border style, line colors and styles, widths, a background gradient, and so on.
8 Feb 2007, 17:39:00   Source: Simple Performance Chart   Tags: Examples Performance
Optimizing integer divisions with Multiply Shift in C#
An article on improving the performance of an algorithm by replacing integer divisions
2 Feb 2007, 20:55:00   Source: Optimizing integer divisions with Multiply Shift in C#   Tags: C# Performance
Speed Testing and the Stopwatch Class
Software must operate at a speed that is acceptable to the end user. Often large improvements can be made by improving the speed of short-lived but heavily used routines. The speed of these can be accurately measured using the .NET 2.0 Stopwatch class.
20 Jan 2007, 05:40:26   Source: Speed Testing and the Stopwatch Class   Tags: Performance
Improving ASP.NET Application Performance and Scalability
Explore ways to reduce page load time, manage state efficiently, scale back on memory use, handle resources better, and improve data access in your ASP.NET applications.
Some Useful Concurrency Classes and A Small Testbench
Useful concurrency classes and small test bench in C#
15 Jan 2007, 18:20:00   Source: Some Useful Concurrency Classes and A Small Testbench   Tags: C# Performance
Implementing the CLR Asynchronous Programming Model

Slow and unpredictable are words that typically characterize I/O operations. When an application performs a synchronous I/O operation, the application is basically giving up control to the device that is doing the actual work. For example, if an application calls the StreamRead method to read some bytes from a FileStream or NetworkStream, there is no telling how much time will pass before that method returns. If the file being read is on a local hard drive, then Read may return almost immediately. If the remote server housing the file is offline, then the Read method may wait several minutes before timing out and throwing an exception. During this time, the thread making the synchronous request is tied up. If that thread is the UI thread, the application is frozen and stops responding to user input.

A thread waiting for synchronous I/O to complete is blocked, which means that thread is idle but is not allowed to perform useful work. To improve scalability, many application developers create more threads. Unfortunately, each thread introduces significant overhead such as its kernel object, user-mode and kernel-mode stacks, increased context switching, the calling of DllMain methods with thread attach/detach notifications, and so on. The result is actually reduced scalability.

An application that wishes to remain responsive to the user, improve scalability and throughput, and increase reliability should not perform I/O operations synchronously. Instead, the application should use the common language runtime (CLR) Asynchronous Programming Model (APM) to perform asynchronous I/O operations..

14 Jan 2007, 18:00:00   Source: Implementing the CLR Asynchronous Programming Model   Tags: Performance
< 1 2 3 4 5 6 7 8 9 10 11 >