当直接从命令行和作为 shell 脚本执行 C# 程序时,我刚刚遇到了 Mono 的这种非常奇怪的行为。该程序的最小版本基本上读取输入文件并对其进行处理。我注意到从命令行执行程序之间存在巨大的性能差异,例如:
mono program.exe file.txt
任务在几秒钟内完成。
但是,如果我创建一个 shell 脚本 execute.sh 并填充它
#!/bin/bash
mono program.exe $1
./execute.sh file.txt 的连续执行最多需要 10 分钟。我只能全神贯注于此。有没有人遇到过类似的问题?你知道什么可能是错的吗?我使用的单声道版本是 Fedora 16 上的 3.10。该程序是为 .NET 4 客户端版本框架编译的。我还在 mas os 和 3.6 mono 下测试过它,似乎没问题。所以也许安装单声道有问题?
最简单的代码如下所示:
Stopwatch w = Stopwatch.StartNew();
var a = ReadMyFile.Read(args[0]);
Console.WriteLine("Structure read in {0}", w.Elapsed.ToString());
最佳答案
刚在ubuntu 14.04上测试过,没有这个问题。
顺便说一句,没有 ReadMyFile.Read,您可能想要添加您使用的确切代码。
关于c# - 从 bash 文件传递参数时出现单声道性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27102663/