Axum is a language of its own based on subset and superset of C# 3.0 and TPL is extentions added to .Net 4.0. My question is, how does Axum compare to TPL in terms of performance, implementation and architecture.
Same question for the C# 5.0 Async.
I realize Axum is not automatically available such as TPL is, so assume that one has already installed Axum.
To me it seems like Async is trying to band-aid a problem where as Axum is preventing the wound from occuring in the first place.
Axum is dead:
That doesn't mean it's not interesting for study of course, but if you're looking for what's going to be useful and released, you should be looking at TPL and async. (Obviously for async you still need to install the CTP as well.)
In terms of the "prevention vs band-aid" question, I think you're broadly right:
In terms of the speed of async in C# 5 vs TPL - async builds on the TPL, so the performance is broadly comparable. I believe that the Parallel team have been optimizing
Task<T>so that it works better with async in terms of avoiding some of the object instantiation which currently occurs to schedule a continuation etc. In other words, any gap in performance between hand-crafting async code using TPL and using C# 5's asynchronous methods is likely to narrow for the final release.If you're interested in how async uses TPL behind the scenes, you might want to read my Eduasync blog series.