Axum 是一种基于 C# 3.0 的子集和超集的自有语言,而 TPL 是添加到 .Net 4.0 的扩展。我的问题是,Axum 在性能、实现和架构方面与 TPL 相比如何。
C# 5.0 Async 的同样问题。
我意识到 Axum 不会像 TPL 那样自动可用,所以假设已经安装了 Axum。
对我来说,Async 似乎试图解决一个问题,因为 Axum 一开始就阻止了伤口的发生。
Axum 是一种基于 C# 3.0 的子集和超集的自有语言,而 TPL 是添加到 .Net 4.0 的扩展。我的问题是,Axum 在性能、实现和架构方面与 TPL 相比如何。
C# 5.0 Async 的同样问题。
我意识到 Axum 不会像 TPL 那样自动可用,所以假设已经安装了 Axum。
对我来说,Async 似乎试图解决一个问题,因为 Axum 一开始就阻止了伤口的发生。
阿克苏姆死了:
那些关注这个博客的人会注意到,我们已经很久没有发布任何关于 Axum 的新内容了,现在是时候公开声明一些人可能已经清楚但其他人不清楚的事情,我们目前没有追求产品化。
当然,这并不意味着它对学习没有兴趣,但是如果你正在寻找有用和发布的东西,你应该看看 TPL 和 async。(显然,对于异步,您还需要安装 CTP。)
就“预防与创可贴”的问题而言,我认为您大体上是对的:
另一方面,围绕安全并行性和基于代理的编程的概念被许多人视为远远超出主流,现在无法在 C# 和 VB 等语言中采用。Axum 的想法是不将这些概念强加于通用语言,因此我们这些从事 Axum 工作的人并不感到惊讶。
就 C# 5 与 TPL 中的异步速度而言 - 异步构建在 TPL 之上,因此性能大致相当。我相信 Parallel 团队一直在优化Task<T>
,以便在避免当前发生的一些对象实例化以安排延续等方面更好地与异步配合使用。换句话说,使用 TPL 手工制作异步代码之间的性能差距并且使用 C# 5 的异步方法可能会缩小最终版本的范围。
如果您对异步如何在幕后使用 TPL 感兴趣,您可能想阅读我的Eduasync 博客系列。