微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

性能:在VS编译,在Windows和Linux上运行单声道

我有以下问题:

是否有可能编译一个C#项目使用VS.NET,并运行在单声道?

方法1(与编译单声道编译器相比)是否有任何性能优势?

在linux上运行输出.exe / .dll怎么样? 什么是相关的性能特点?

谢谢

在启动Avaya主动拨号程序时,WPF中的System.AccessViolationException

Winform应用程序在XP系统上闪烁

ComboBoxItem MouseEnter事件不会触发

我怎样才能从$(ProjectDir)中删除tralling反斜杠?

我可以使用Linux / Mono来部署aspnet web应用程序吗?

是的,你可以这么做。 它应该工作,除非代码使用一些在单声道上没有实现的框架元素。

不是我所知道的。

不知道#3和#1之间的区别是什么。 如果你指的是使用单声道在Windows上编译,然后将其移植到Linux,它应该仍然工作相同。 两个编译器都生成基本相同的IL代码

1:

是。 编译器编译成IL代码,在任一系统中运行。

并不是所有的图书馆都是用Mono来实现的,但那些应该是无缝的。 而且,代码必须写成独立于系统才能正常工作,例如:

使用Path.DirectorySeparatorChar和Path.Combine来形成文件路径,而不是使用字符串文字""或"/" 。

使用BitConverter类来完成独立于大端/小端架构的字节操作。

2:

编译器生成代码可能存在一些差异,但是由于几乎所有的优化都是由JIT编译器完成的,所以几乎不会产生任何可测量的差异。

3:

exe和dll文件不包含本地代码,它们包含IL代码。 本机代码是在加载exe / dll时由JIT编译器生成的。

为了扩大他人的答案:

对于第3点。是的,使用MSCLR和单声道会有性能差异,不,我不知道它会是什么。 也许没有什么,也许很少,也可能是一个更快 – 你将不得不分析你的具体应用程序。

还要注意的是,尽管JIT编译器的代码速度很快,但这些库的实现方式会有很大的不同,并且几乎肯定会有不同的性能特征。

如果您计划在Mono下支持您的应用程序,则需要在那里运行性能测试以及MS CLR。

我不知道性能,但本文试图展示如何编译下的MonoDevelop工具。这应该给你一些想法,差异将是什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐