我在Ubuntu上使用Mono构建了一个简单的应用程序,它按顺序打印出列表的条目。代码在Ubuntu上执行大约需要6毫秒,但是相同的代码在Windows上执行大约需要40毫秒。为什么相同的应用程序代码在Ubuntu上运行速度比在Windows上使用实际的.net运行时更快?
答案 0 :(得分:5)
如果您要打印到控制台,那么速度差异将来自Windows cmd.exe非常慢的事实。将输出定向到文件,然后测量执行时间。
答案 1 :(得分:3)
Mono不是.Net运行时的端口。来自'What is Mono?'页面:
它是基于Microsoft的.Net Framework的开源实现 ECMA标准C#和公共语言运行时。
一些功能的Mono实现完全可能比.Net实现更快。
另一种可能性是您运行的代码没有尽可能优化。也许看看是否存在可以修改的瓶颈或循环?