pro*_*eek 3 .net mono performance
我必须将.NET/C#用于下一个公司项目.当我在Mac上开发我的项目时,我研究了单声道开发环境/工具.
Mac OS X的单声道是否足够快?我的意思是,与在Windows机器上运行.NET上的相同代码相比,运行程序集的性能如何?
在实际意义上,我是否需要购买PC笔记本电脑来开发C#/ .NET?
编辑:谢谢你的答案.我看到我应该考虑的另一件事是兼容性问题和开发工具.我想问一下单声道有多好; 如果mono比Windows .NET慢10倍.我最好不要用它.但是,如果单声道只慢1.5倍,那么为什么不呢?
mig*_*aza 15
对于交互式应用程序,您通常不会注意到Mono和.NET在等效硬件上的任何性能差异.
你会注意到一些事情:
所有这些都是团队的重点领域,因此您很快就会看到两种情况的变化.我们正在开发一款新一代的GC,就像.NET一样,预览将在2.8中首次亮相.
codegen引擎现在可以选择使用LLVM,在2.6中就可以了,在2.8中它将具有99.8%的代码覆盖率(从当前的60或70).令人遗憾的是LLVM使JIT编译时间非常慢,所以我们只将其用于"ngen"类场景或者需要以启动速度为代价获得更好性能的程序.
使用LLVM,我们能够在大多数测试中匹配.NET和Java,只有少数例外.
最后,正在开发OSX特定的限制,并且也将在2.8中.
直接回答你的问题:是的,Mono的性能足以在Mac上进行开发.几年前,当我们将Remoting代码从.NET移植到Mono时,事情变得非常糟糕但是我被告知Mono从那时起已经有了很大的改进.关于开发环境:#develop和MonoDevelop是跨平台的.
现在变得实用:
这个问题背后的要点似乎是避免购买Windows许可证并仅使用Mac和Mono.这是一个糟糕的主意.我永远不会发布任何产品,甚至内部,我甚至从未在预期的环境中运行自己.即使您厌恶Windows及其所代表的一切,如果您正在为Windows编写软件,您也应该向用户在Windows中对其进行全面测试.
那就是说:我推荐Boot Camp 和 Parallels/VMWare.
Boot Camp
最好的.NET开发工具仅限Windows.即使你找到了另一个开发者.您更喜欢的环境,您最终希望测试以原生速度运行的应用程序.
VMs
VM足以满足大多数测试和调试的需要.如果您的应用程序可能会造成任何损害,您将特别希望使用VM进行沙盒处理.在我上一份工作中,我们进行了低级别的侵入式扫描和调整.当我们的代码有问题时,我们可能真的搞砸了.我们所有的测试都发生在虚拟机中,早在我们将它们放在真正的盒子上之前.
以上将允许您只拥有一台Mac(假设它是基于Intel的),并且如果您愿意,仍然允许您在OS X + Mono中进行所有开发.它只是不允许你避免使用Windows.
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |