Page 15 of 15 FirstFirst ... 5131415
Results 141 to 142 of 142

Thread: Mono 2.6 Released, Supports LLVM Generation

  1. #141
    Join Date
    Oct 2009
    Posts
    845

    Default

    Quote Originally Posted by BlackStar View Post
    Anyone calling GDI+ "highly optimized" is either insane or misinformed.
    It doesn't matter what you think of gdi+, it's still doing the heavy lifting in Paint.net. So if you think Paint.net is performant, than gdi+ can't be all that bad. Granted, I've only used gdi+ with native code, and thus I don't have to suffer the overhead generated when making calls from managed to unmanaged, but that has nothing to do with gdi+.

    Quote Originally Posted by BlackStar View Post
    The examples given here refute the claim that you cannot create performant managed applications. You seem to be interested in something else entirely, namely language microbenchmarks.
    No, I'm interested in comparisons between the performance of the code the actual languages create. Currently the closest thing to a fair comparison would be the Language Shootout benchmarks, since a) the programs are 100% done in the language they represent b) the programs solve the exact same problem.

    And no, I've never claimed that you can't create 'performant' managed applications. Since what qualifies as 'performant' differs greatly depending on application. What I am claiming is that native code will be more 'performant' than managed code, and thus if performance is of key importance to your application, native code is the choice.

  2. #142
    Join Date
    Oct 2007
    Location
    Under the bridge
    Posts
    2,124

    Default

    Quote Originally Posted by XorEaxEax View Post
    What I am claiming is that native code will be more 'performant' than managed code, and thus if performance is of key importance to your application, native code is the choice.
    Let's assume that C++ is on average 50% faster than C#. A typical game might spend 50% of its time in OpenGL drivers, 25% in physics, 5% in OpenAL, 5% in networking, 10% in scripting (AI, game code) and 5% in other CPU tasks (frame setup, input handling, timing etc).

    Using C++ would grant me a 2.5% speed advantage in CPU tasks and maybe another 2.5% due to interop overhead. The rest of the tasks are not affected by the choice of language.

    5% better framerate in C++? Big effing deal. You can get that 5% back by spending a couple of days tweaking your OpenGL shaders in the C# version. A couple of days? Yes, that's the aggregate compilation times for the C++ version.

    As I said, applications are not created in a void. Language performance is meaningless on its own in everything but purely math code. Every other task will have to rely on OS components, middleware libraries and tons of other modules with their own performance characteristics. Does it matter that Python is 50% slower than C, when all the program is doing is copying files on disk, manipulating XML, executing SQL queries or waiting the OS to finish redrawing the window?
    Last edited by BlackStar; 12-25-2009 at 05:53 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •