|
|
Browse by Tags
All Tags » .NET » C#
Showing page 1 of 2 (11 total posts)
-
After my last post, “A Safe and Asynchronous One to Many Stream Copy Through IL and Inheritance”, I ordered a few books and spent some time playing with generating IL. Along the way I’ve developed a library which allows you to make a franken-clone of any object. You pass the method an object to clone along with a hash table of values to change, it ...
-
Because .NET Streams have state, they are difficult to use in multithreaded environments. In this post I discuss ways to manage or work around problems arising from the statefulness of .NET Streams. I explain how this is possible both through traditional inheritance and also through some indulgence in hacking of object protection levels by ...
-
It's time to leave the secondary, external structure of our programs behind. If you can treat the reflected code from a programming language like an abstract data structure, why can’t you just keep the source itself in a similarly abstracted data structure? Isn’t the structure of a program more similar to a graph, than a list? Besides the momentum ...
-
Tuning the garbage collector to the specific context of the particular application can significantly improve the performance of both non-threaded and multi-threaded applications. In this post I discuss the gcConcurrent and gcServer settings which allow you to exercise some control how the Garbage Collector operates.
Articles in This ...
-
I have a new CodeProject article up which details how to make a Debugger Visualizer in the case where you need to custom serialize the object. The actual classes I build in the tutorial are only useful with our DotImage project line. However, the process of creating a Custom Serializer should be useful to any .NET ...
-
In the previous article I discussed a few of the benefits of stack allocation as well as a couple of C# keywords which help you to leverage those benefits. However, the one megabyte default stack size is too small for stack allocation to be used with a large dataset. Alternatively, in some threading situations one megabyte per thread/fiber can ...
-
Articles in This Series
Part 1 – Basic Housekeeping
Part 2 – Improving Performance Through Stack Allocation
Part 3 – Increasing the Size of your Stack
Part 4 – Choosing the Right Garbage Collector Settings
Introduction
In C#, when you create managed objects or arrays of value types, they are created on the Heap and you are passed ...
-
I went to my first Code Camp this weekend. I was a bit wary at first because it was hosted by Microsoft and I hate Corporate Kool-Aid. Thankfully, that was kept to a minimum and the focus was where it should be: on the code.
All of the panels I went to were worthwhile to some degree. However, three stood out to me as particularly ...
-
This is the first in a series of posts I will be writing about managing memory in .NET. Before I move on to more complex techniques, I thought it would be good to cover the basics.
Articles in This Series
Part 1 – Basic Housekeeping
Part 2 – Improving Performance Through Stack Allocation
Part 3 – Increasing the Size of the Stack
Part 4 – ...
-
There are a great number of different ways to count the number of processors available to the .NET developer. In this post I will go over some of the more common methods and their pros and cons.
The Envirionment.ProcessorCount Way
Code:
Environment.ProcessorCount;
Supported Platforms:
Windows 98 Or Greater, .NET 2.0 or ...
1
|
|
|