Active Objects and Futures

Herb Sutter gave one of my favorite and inspiring presentations.  It is called "The Free Lunch is Over".  The original article can be found here.  My first encounter though came from his PDC presentation and highly recommend viewing that as well. The part that interested me the most about the talk was two new threading…

5

Tuples Part 6: Comparing

Part 5 produced equality tests for Tuples.  This section will add comparison support through the IComparable<T> interface.  Implementing comparable is very similar to adding equality support.  Once again there is a generic class available to make all of the comparison decisions for us; Comparer<T>.  The implementation will compare objects in a left to right fashion. …

3

Types of Immutability

By definition, an immutable object in computer science is one that is not able to change.  Parallel coding is becoming more necessary as the number of cores in a processor are increasing but not the overall speed.  As such immutability is will become more important because it is an important asset of multithreaded programming.  Immutable…

3

C++ Placement New: Tracking down a crash

See my previous two posts on an introduction to placement new if you are unfamiliar with the subject. http://blogs.msdn.com/jaredpar/archive/2007/10/16/c-new-operator-and-placement-new.aspx http://blogs.msdn.com/jaredpar/archive/2007/10/17/c-placement-new-and-allocators.aspx Recently I did a bit of work on the heap management story for our code base.  Mainly it was a change to unify the different ways we accessed our internal heap.  In the process I…

1

C++ Placement New and Allocators

This is a follow up for my previous post about operator new and placement new.  This post will discuss the role of adding a custom allocator and using it with new. It’s handy to use custom allocators in C++.  Certain operations can be done more efficiently on a different type of allocator than the rest…

2

C++ New Operator and Placement New

Originally I was going to write this article to detail a particular problem I had recently with placement new in C++.  A page or two of writing later I decided it would be best to start with an introduction to the “new” operator itself and the in/outs of overloading/replacing it.  The C++ new operator really…

5