Andrew Arnott

News from my corner of the Visual Studio Project & Build team, programming tips, and solutions to common programming issues.

Browse by Tags

Tagged Content List
  • Blog Post: Immutable Object Graph updates

    In my last post , I introduced a T4 template that constructs efficient and quite capable immutable objects based on the simplest mutable type definition. I also mentioned that the published sample is (necessarily, ala T4 style) open source and hosted online . Two outsiders have already submitted pull...
  • Blog Post: Simple immutable objects

    We’re all familiar with immutable collections now. But immutability is only as immutable as it is deep. And an immutable collection of mutable objects may not provide the depth you’re looking for. So how can one create an immutable object? Suppose you would define the mutable version like...
  • Blog Post: Immutable collection algorithmic complexity

    I received some feedback from my recent BCL blog post on the prerelease of the immutable collections that my algorithm complexity table left a few important entries out. Here is the table again, with more data filled in (particularly around list indexer lookup and enumeration):   Mutable (amortized...
  • Blog Post: Immutable collections now available

    In previous posts , I discussed immutable collections. I’m pleased to say they are now available. Read my announcement on the BCL blog .
  • Blog Post: Immutable collections with mutable performance

    In my last post , I detailed the differences among read/write, read only, frozen and immutable collection types.  I described how immutable collections come with a hit to the garbage collector due to the garbage they generate during mutations.  I have a very positive update on that topic. My...
  • Blog Post: Read only, frozen, and immutable collections

    [Update: a more recent post with new data on attainable performance of immutable collections ] The topics of immutability and functional programming has fascinated me lately. Mostly because of my work on the Visual Studio Common Project System (CPS) which is a large, highly multi-threaded code base...
Page 1 of 1 (6 items)