Browse by Tags

All Tags » Rants » CLR Internals (RSS)

The problem with APIs like System.IO is that people ask questions like "How do I copy a StreamReader?"

The basic layout is generally that the user wants to pass a particular StreamReader instance to some method that does some processing. Upon return they find that their StreamReader in the local scope is now not where it was when they first called the...

An not so asynchronous mistake anyone can make when using the System.IO.Stream class.

Got a stack overflow exception come in today for an application I'm working on. Turns out if you send rather large files around then all of a sudden this guy just pops up and takes you down. I have to say this wasn't something I was expecting, and was...

Neat JIT performance improvement when using BR or BR_S

If you had your choice of how IL got JIT'ed down to the host processor assembly language, how would your JIT handle unconditional branching with regards to how the IL is laid out? I would think the JIT'er would be a two step processor myself. It would...

Want faster regular expressions? Maybe you should think about that IgnoreCase option...

Let me start with a disclaimer. RegexOptions.IgnoreCase is a very powerful option that allows you to match ignore character casing during matches irregardless of the currently running culture. In other words, this will allow you to take into account other...

The new face of the GC in Whidbey... I'm not sure this is a pretty face...

Brad Abrams commented several months ago about some changes in the GC that allows you to tune your application for GC collection when working with unmanaged objects. The two concepts he talks about are a small managed object that is hiding a much larger...

Rotor FUBAR of the day (compliments Christoph Nahr): Queue.Clone returns invalid results...

So the method in question is Queue.Clone(). Ideally, Queue.Clone() would return an exact copy of the Queue being cloned. IMO that should mean array density and size, current head/tail pointers, and current versions. However, the Clone method does a couple...
Posted by Justin Rogers | with no comments

Rotor FUBAR of the day: BinaryReader methods are marked virtual...

I should really quit looking at the darn Rotor code (or using ILDasm), because I'm just going to keep finding stuff like this that gets my goat. For those that don't know, there is a performance overhead with any method marked virtual and a call versus...
Posted by Justin Rogers | with no comments
Filed under: ,

Multi-Threaded applications and Abort, careful not to kill your statics...

Okay, so I'm working through the plug-in interface and testing all the various possibilities for when static constructors are going to be run. I wind up finding some of the answers to my questions posted in another blog entry http://weblogs.asp.net/justin_rogers...

Static Constructors and Plug-In Security...

After reading the CLI spec, there are some things about static initializers (type initializers) that appear fairly odd. I started reading this portion of the spec after Peter Torr referenced it in his post ( http://weblogs.asp.net/ptorr/archive/2004/01...
More Posts