【问题标题】:.NET 4.0 vs 3.5 runtime performance.NET 4.0 与 3.5 运行时性能
【发布时间】:2010-02-11 22:01:34
【问题描述】:

现在 VS2010 在 RC 中,似乎距离 2.0 以来第一个新的“核心”运行时版本只有几周的时间。虽然我没有立即升级的需求,但我想知道是否有人在两者之间进行了一些性能测试/基准测试。

如果有任何明显的性能提升,那么重新编译现有的工作应用程序将是有益的。

TIA, 德让

【问题讨论】:

  • IMO,这应该是一个 wiki,而不是一个问题。

标签: c# .net visual-studio-2010


【解决方案1】:
ASP.NET 4 Runtime 
      o Focused on two areas
            + Performance
            + Extensibility
      o New resource monitoring options
      o New performance features
            + Session state
            + Improving perceived application startup
      o Output cache extensibility

查看此链接http://ecn.channel9.msdn.com/o9/pdc09/ppt/FT57.pptx

【讨论】:

    【解决方案2】:

    我发现 .NET 4.0 在我们运行的一个测试套件中稍微慢了一点。该测试使用 System.Data.Sqlite 对 SQLite 数据库运行一堆查询,与 4.0 相比,它们在 .NET 3.5 上的运行速度快 1-2%。不知道为什么它们更快,但我们在这里谈论的是毫秒,所以我不太担心。

    【讨论】:

    • @Jeff:很有趣。 System.Data.Sqlite 'native' 4.0 版本还是在 2.0 上并行运行?
    • @Dejan 我们正在使用混合模式 System.Data.Sqlite,其中包含本机代码以及 CLR 代码。
    • @Dejan System.Data.Sqlite.dll 是 2009 年 7 月的 .NET 2.0 版本。
    • @Dejan 令人着迷,我将 System.Data.Sqlite 代码重新编译到我的 .NET 4.0 项目中,现在时间与 .NET 2.0 版本大致相同。
    • @Jeff:这很有道理——可能内存使用量也下降了?
    【解决方案3】:

    不要抱太大希望,.NET 4.0 绝对不是面向性能的版本。首先,它是一个兼容性版本。五年来 MSFT 无法发布 CLR 和基类库的可并行安装版本即将结束。

    更好的是,它是一个 SxS 版本,甚至支持在一个进程中同时运行旧版本的 CLR 和新版本。这是一个了不起的成就,我认为这是不可能的。许多 BCL 添加是蛋糕上的奶油。

    【讨论】:

      【解决方案4】:

      现在回答这个问题还为时过早,因为我们刚刚发布了 RC。

      【讨论】:

      • 嗯,当然。但它是 Visual Studio 的候选版本,我希望 .net 运行时本身目前非常冻结。 IOW,RC 和 RTM 之间不太可能有任何显着差异。
      【解决方案5】:

      视情况而定。
      我非常使用 LINQ,并且有显着的性能提升。
      由 VS2010 的分析器给出的差异快了 230%。
      但这当然只是 .NET 4.0 的特定部分。

      【讨论】:

        猜你喜欢
        • 2011-05-20
        • 2011-07-05
        • 2011-09-03
        • 2011-03-12
        • 2010-10-05
        • 2011-08-10
        • 1970-01-01
        • 1970-01-01
        • 2011-09-07
        相关资源
        最近更新 更多