当前位置:  开发笔记 > 编程语言 > 正文

C#ASP.NET MVC3优于Ruby on Rails 3,Django?

如何解决《C#ASP.NETMVC3优于RubyonRails3,Django?》经验,为你挑选了1个好方法。

我正在考虑一个快速执行且可扩展的高性能Web应用程序平台,该平台也集中使用数据库.在我看来,自然的方法是选择一些MVC框架,如Rails,.NET MVC或Django.我已经有过Rails和.NET的经验,但没有使用过Python.至于我的个人测试显示C#with .NET MVC3在大多数情况下优于Ruby on Rails 3(对于Rails,我使用unicorn和nginx作为http的东西).有人对此有一些观察,或者我的测试是否被错误地保留了?任何带有数字和解释的例子都将受到高度赞赏.谢谢!



1> aaimnr..:

选择一个webframework时,性能不应该是一个破坏者,至少在你选择那些在战场上得到证实的那些3时是这样.

如果只考虑语言速度,C#(静态类型和JIT编译)将始终是最快的.接下来将会出现Python(特别是如果你将在PyPy上运行Django - 它也有一个JIT,但不是那么成熟)而Ruby将是最慢的(它总是如此,尽管它正在改进).

除了语言之外,数据库本身也起着重要作用,因此很大程度上取决于给定框架使用的ORM.同样,实体框架(您可能与ASP.NET MVC一起使用)将是最难以低效使用的,因为延迟加载在那里并不常见,并且数据库模型通常是手工创建的.另一方面,在Django中,您使用Python编写模型,有时可能过于笼统.

不要忘记,当DB扮演关键角色时,正确的缓存始终是关于性能的关键因素.与ASP.NET MVC相比,Django和RoR是完整的堆栈框架,并且会为您提供更多开箱即用的选项,因为他们知道他们对模型的所有需求.

编辑:如果你想要纯语言速度比较,看看http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=csharp&lang2=yarv 阅读所有免责声明(这是特定算法的基准在特定的解释器/编译器实现上运行的实现,这只是这些实现的基准)但请记住,在那里测试的C#实现是开源Mono版本,肯定比原始MS Stack慢.因此,您可以看到的差异(c#实现比Ruby快79倍)可能更大.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有