Performance 如何解释mono profiler结果?
我用C#创建了一个控制台应用程序,在windows/上运行它。NET比linux/mono或windows/mono快5倍。 该应用程序将一些二进制文件编码为文本格式(JSON) 我在linux/mono上使用以下工具分析了该应用程序:Performance 如何解释mono profiler结果?,performance,mono,profiler,Performance,Mono,Profiler,我用C#创建了一个控制台应用程序,在windows/上运行它。NET比linux/mono或windows/mono快5倍。 该应用程序将一些二进制文件编码为文本格式(JSON) 我在linux/mono上使用以下工具分析了该应用程序: mono --profile=default:stat myconsoleapp.exe 以下是结果的第一部分: prof counts: total/unmanaged: 32274/25062 23542 72.95 % mono 459 1
mono --profile=default:stat myconsoleapp.exe
以下是结果的第一部分:
prof counts: total/unmanaged: 32274/25062
23542 72.95 % mono
459 1.42 % System.Decimal:Divide (System.Decimal,System.Decimal)
457 1.42 % System.Decimal:Round (System.Decimal,int,System.MidpointRounding)
411 1.27 % /lib/libz.so.1
262 0.81 % /lib/tls/i686/cmov/libc.so.6(memmove
253 0.78 % System.Decimal:IsZero ()
247 0.77 % System.NumberFormatter:Init (string,double,int)
213 0.66 % System.NumberFormatter:AppendDigits (int,int)
72.95%单核细胞?mono堆内构件是否使用总执行时间的四分之三
编辑:这是“mono--version”的结果
对。
看起来你的单声道二进制已经去掉了符号,所以你无法获得更精确的信息
我的猜测是,大部分开销都在十进制代码中,并且(可能)在GC中
对于第一种情况:您使用的是哪种mono版本?IIRC,我们最近修复了该领域的一些性能问题。从svn主干尝试mono可能是个好主意
如果开销来自GC,那么我们正在实现的新GC应该会有帮助
如果您发布测试程序的源代码或二进制文件,我们可以确认任何一个问题。谢谢。我在问题中添加了单声道版本。如何获得包含符号的单声道二进制文件?
Mono JIT compiler version 2.4.2.3 (Debian 2.4.2.3+dfsg-2)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none