I had a revelation like that when implementing a shuffle algorithm. Removing
an element from the list causes the entire contents of the list after that
index to be copied. It would have been even worse if I had treated the lists
as a queue (list.RemoveAt(0)). Looking into reflector showed just what was
going on.

On Wed, Feb 2, 2011 at 9:35 AM, Frank Schwieterman <[email protected]>wrote:

>  There are a lot of uses, I remember one that stands out...  From my
> C++ days, I had assumed List<> was implemented as a linked list.
> Using reflector I realized its an array.  When I discovered this, I
> had a serious performance problem as I was relying on a linked list
> implementation.  Very embarrassing, and a bit of a trip when so many
> people said "well of course a List<> is an array".
>
> On Wed, Feb 2, 2011 at 9:23 AM, Ian Davis <[email protected]> wrote:
> > I have used it for a number of the items Matt listed. Also:
> >
> > Finding bugs in third party libs that I don't have source access to
> > (sometimes patching the library in question)
> > Figuring out remoting errors (back when remoting was used)
> > Seeing how code compiles into different languages
> > Figuring out what classes implement a particular interface
> > Figuring out how .NET implement primitive types
> > Looking at generated IL to analyze performance implications
> >
> > I will never use [,] for arrays, jagged ([][]) is incredibly faster
> >
> > I am sure there are more
> > -Ian
> > On Wed, Feb 2, 2011 at 9:02 AM, Justin Bozonier <[email protected]>
> > wrote:
> >>
> >> So a couple people now are surprised.. nay, shocked that I don't use
> >> Reflector and I'm pretty sure that means I would have more ninjitsu if
> >> I did. What problems are you guys solving with it?
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "Seattle area Alt.Net" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected]<altnetseattle%[email protected]>
> .
> >> For more options, visit this group at
> >> http://groups.google.com/group/altnetseattle?hl=en.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Seattle area Alt.Net" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<altnetseattle%[email protected]>
> .
> > For more options, visit this group at
> > http://groups.google.com/group/altnetseattle?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Seattle area Alt.Net" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<altnetseattle%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/altnetseattle?hl=en.
>
>


-- 
Ian Davis
http://innovatian.com

-- 
You received this message because you are subscribed to the Google Groups 
"Seattle area Alt.Net" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/altnetseattle?hl=en.

Reply via email to