2010-04-28 6 views
3

J'ai créé une application console en C# et l'exécuter sur windows/.NET est 5 fois plus rapide que sur linux/mono ou windows/mono. L'application code certains fichiers binaires au format texte (JSON).Comment interpréter les résultats de profileur mono?

Je l'application sur profilé linux/mono en utilisant:

mono --profile=default:stat myconsoleapp.exe 

Voici la première partie du résultat:

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? Les internes mono utilisent-ils les trois quarts du temps d'exécution total?

EDIT: Voici le résultat de "--version mono"

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 

Répondre

1

correcte. Il semble que vos symboles binaires mono soient dépouillés, donc vous n'obtenez pas d'informations plus précises. Je suppose que la plus grande partie de cette surcharge est dans le code décimal et (éventuellement) dans le GC.

Pour le premier cas: quelle version mono utilisez-vous? IIRC, nous avons récemment résolu certains problèmes de performance dans ce domaine. C'est peut-être une bonne idée d'essayer mono depuis svn trunk.

Si les frais généraux proviennent du GC, le nouveau GC que nous mettons en œuvre devrait l'aider.

Nous pourrions confirmer l'un ou l'autre problème si vous avez affiché la source ou le binaire de votre programme de test.

+0

Merci. J'ai ajouté la version mono à la question. comment puis-je obtenir un binaire mono avec les symboles inclus? –

Questions connexes