Stephen Toub - MSFT

Partner Software Engineer, .NET

Stephen Toub is a developer on the .NET team at Microsoft.

Post by this author

Multiple thread-local state elements in a loop

The Parallel.For/ForEach loop constructs included in Parallel Extensions support a variant of thread-local state to aid in efficiently passing data between loop iterations.  Consider one such overload of Parallel.For: public static void For<TLocal>( int fromInclusive, int toExclusive, Func<TLocal> threadLocalInit, ...

Q&As from the 2008 Financial Services Developer Conference

A few weeks ago, I presented on Parallel Extensions to the .NET Framework at the 6th annual Microsoft Financial Services Developer Conference (the decks from the conference are now available online).  I had a great time and a great audience, and during the presentation on Thursday I received some good questions.  Here are some of ...

New PLINQ video on Channel 9

Igor and Joe from our Parallel Extensions team sat down with Charles from Channel 9 to discuss the inner workings of PLINQ.  The video of the conversation is now available at https://channel9.msdn.com/showpost.aspx?postid=390736. "Continuing our exploration of the Parallel Computing Platform and the folks who think it up and ...

Wrapping an APM implementation with Future

In a previous post, I talked about implementing the Asynchronous Programming Model pattern using Future<T> from Parallel Extensions to the .NET Framework.  It's also possible to go in the opposite direction, to create a Future<T> from an existing APM implementation.As has been shown in previous examples, in this example we'll ...

Jobs on the Parallel Computing Platform team

As mentioned in a previous post, we're actively hiring for the Parallel Computing Platform team at Microsoft.  Whether you're interested in PM, dev, test, or product management, we have some awesome positions available! You can see a list of them and apply for those positions here...

Parallel loop performance

We've received several questions on the MSDN Forums for Parallel Extensions about the performance of the Parallel class, and specifically of the loop constructs we provided in the CTP.  We're very much aware that the performance of Parallel.For/ForEach in the CTP is not optimal, and that for some situations, the overhead for these ...

Ordering the output of parallel computations

Frequently when attempting to do multiple operations in parallel, ordering becomes an issue.  Consider an application where I'm rendering and writing out to a video file frames of a movie: for (int i = 0; i < numberOfFrames; i++){    var frame = GenerateFrame(i);    WriteToMovie(frame);}For a bit of ...

6th Annual Microsoft Financial Services Developer Conference

We'll be speaking this week in NYC about Parallel Extensions to the .NET Framework at the Microsoft Financial Services Developer Conference. "The 2008 Microsoft Financial Services Developer Conference will focus on providing developers and architects in Financial Services a clear roadmap of the Microsoft development platform with a focus on ...

Implementing the Asynchronous Programming Model with Future

One of our design goals for the Task Parallel Library is to integrate well into existing asynchronous mechanisms in the .NET Framework.  And one of the most common concurrency-related patterns in the .NET Framework is the Asynchronous Programming Model (APM), which typically manifests as a BeginXx method that kicks off an asynchronous ...

VSj article on Parallel Extensions

Daniel Moth is back with a nice article introducing the preview release of Parallel Extensions to the .NET Framework.  Great work, Daniel...