[Mono-bugs] [Bug 564695] New: LLVM support: this sample generates very slow code.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Dec 15 00:48:29 EST 2009


http://bugzilla.novell.com/show_bug.cgi?id=564695

http://bugzilla.novell.com/show_bug.cgi?id=564695#c0


           Summary: LLVM support: this sample generates very slow code.
    Classification: Mono
           Product: Mono: Runtime
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: miguel at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


I was looking at SciMark to find out how LLVM+Mono were behaving, and noticed
that in some cases LLVM regresses performance-wise.  I distilled this test case
that makes Mono/LLVM not perform very well.

This might be caused by the vtable never getting its value updated, and instead
having every method call invoking the mono trampoline code on every vtable
call.

The code compiled by LLVM is 100 times slower than the code compiled by Mono in
this case on x86/64:

using System;

public class iDemo
{
    public class Foo {
        double d;
        public double nextDouble () { return d++; }
    }    
    public static void Main ()
    {

        var R = new Foo ();

         for (int count = 0; count < 5368709; count++)
            R.nextDouble();

    }
}

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list