小而快的.NET程序? - ResolvePolicy中65%的运行时间

for*_*i23 1 .net performance f# runtime securitymanager

我试图在F#中构建一个非常小的.NET应用程序.

它只需将一个小字符串转换为另一个字符串并将结果打印到控制台,如:

convert.exe myString ==>打印类似"myConvertedString"的内容

我使用dottrace来分析性能:

  • 在我的实际字符串转换中有26%(168ms)(我认为这没问题.)
  • System.Security.SecurityManager中ResolvePolicy中的65,80%(425ms)

每次执行的运行时间> 500ms都太慢了.我可以做些什么来改善这个吗?

如果这次只需要第一次通话就没问题.

此致,forki

Jon*_*eet 7

您是否必须将此作为每个字符串的单独进程运行?

你能传递一个包含很多字符串的文件的名字吗?就以下方面而言,这将显着提高效率:

  • 启动流程所需的时间
  • 加载.NET的所有各个部分所花费的时间
  • JIT你的代码所花费的时间
  • 解决安全策略所需的时间