Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .NET Frameworks as C++ classes

.NET Frameworks as C++ classes

Scheduled Pinned Locked Moved The Lounge
dotnetcsharpc++performancequestion
10 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Lost User
    wrote on last edited by
    #1

    Question: I'm I right in saying that the .NET framework DLLs are written using the CLR. Is this the above question is YES, then the .NET framework in general is going to be really slow. Why dont Microsoft also produce a C++ class version of the .NET, for extra performance. Regards A worried VC++ User :(

    D J L 3 Replies Last reply
    0
    • L Lost User

      Question: I'm I right in saying that the .NET framework DLLs are written using the CLR. Is this the above question is YES, then the .NET framework in general is going to be really slow. Why dont Microsoft also produce a C++ class version of the .NET, for extra performance. Regards A worried VC++ User :(

      D Offline
      D Offline
      David Cunningham
      wrote on last edited by
      #2

      Yes, I believe virtually all of the framework is written using C#. D

      1 Reply Last reply
      0
      • L Lost User

        Question: I'm I right in saying that the .NET framework DLLs are written using the CLR. Is this the above question is YES, then the .NET framework in general is going to be really slow. Why dont Microsoft also produce a C++ class version of the .NET, for extra performance. Regards A worried VC++ User :(

        J Offline
        J Offline
        Jason Gerard
        wrote on last edited by
        #3

        I also believe they are primarily written in C#. It doesn't matter what language Microsoft uses for .NET, it's going to run in the Context of a managed environment. If C++ (not managed) is used, then we lose the benefits of the .NET framework such as garbage collection and language independence. Jason Gerard MCSD, MCSE Technology Point International, Inc.

        L 1 Reply Last reply
        0
        • L Lost User

          Question: I'm I right in saying that the .NET framework DLLs are written using the CLR. Is this the above question is YES, then the .NET framework in general is going to be really slow. Why dont Microsoft also produce a C++ class version of the .NET, for extra performance. Regards A worried VC++ User :(

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          .NET has two core .DLLs: MSCOREE.DLL - is UNMANAGED runtime (most probably written in C++). This .DLL loads other .NET (managed) DLLs = assemblies and runs them. MSCORLIB.DLL - is most important MANAGED assembly containing core .NET types. Is MUST be written as managed code by design of .NET framework. Don't worry about performance. Managed code != slow code. In fact theoreticaly it can be faster than C++ code. Note, that C#, VB is compiled at runtime (JIT compilation). Performance will depend on quality of JIT compiler. It also means, that if you will buy new processor (P4, P5, P6...) new version of JIT optimized for this processor will provide faster code without any recompilation of your source code. And your old not optimized C++ code can be slower...

          N 1 Reply Last reply
          0
          • L Lost User

            .NET has two core .DLLs: MSCOREE.DLL - is UNMANAGED runtime (most probably written in C++). This .DLL loads other .NET (managed) DLLs = assemblies and runs them. MSCORLIB.DLL - is most important MANAGED assembly containing core .NET types. Is MUST be written as managed code by design of .NET framework. Don't worry about performance. Managed code != slow code. In fact theoreticaly it can be faster than C++ code. Note, that C#, VB is compiled at runtime (JIT compilation). Performance will depend on quality of JIT compiler. It also means, that if you will buy new processor (P4, P5, P6...) new version of JIT optimized for this processor will provide faster code without any recompilation of your source code. And your old not optimized C++ code can be slower...

            N Offline
            N Offline
            NormDroid
            wrote on last edited by
            #5

            One core .NET DLL is written in C++, and the rest of the .NET DLL written as managed DLL. Pah! I'm no rocket scientist, but surely a desktop application written as a native C++ program has to far faster than any C# program. You say "In fact theoreticaly it can be faster than C++ code" - prove it. "It also means, that if you will buy new processor (P4, P5, P6...) new version of JIT optimized for this processor will provide faster code without any recompilation of your source code.". I tell my client (100+user) to go out and buy 100+ new machines, just because it will provide faster code, oh and this is only for Intel Processors ??? :| "And your old not optimized C++ code can be slower" - Hokey Dokey!, I'll scrap any systems developed in MFC and port them over to C# and pig will fly from my butt! You've obviously been sucked in by the M$ marketing bandwangon or in fact you are from Microsoft.

            P 1 Reply Last reply
            0
            • N NormDroid

              One core .NET DLL is written in C++, and the rest of the .NET DLL written as managed DLL. Pah! I'm no rocket scientist, but surely a desktop application written as a native C++ program has to far faster than any C# program. You say "In fact theoreticaly it can be faster than C++ code" - prove it. "It also means, that if you will buy new processor (P4, P5, P6...) new version of JIT optimized for this processor will provide faster code without any recompilation of your source code.". I tell my client (100+user) to go out and buy 100+ new machines, just because it will provide faster code, oh and this is only for Intel Processors ??? :| "And your old not optimized C++ code can be slower" - Hokey Dokey!, I'll scrap any systems developed in MFC and port them over to C# and pig will fly from my butt! You've obviously been sucked in by the M$ marketing bandwangon or in fact you are from Microsoft.

              P Offline
              P Offline
              Peter Pearson
              wrote on last edited by
              #6

              >> "It also means, that if you will buy new processor >> (P4, P5, P6...) new version of JIT optimized for >> this processor will provide faster code without >> any recompilation of your source code.". I tell my >> client (100+user) to go out and buy 100+ new >> machines, just because it will provide faster code, >> oh and this is only for Intel Processors ??? Ermmm.... Why would you go and get new machines just to get one program to run faster? Where was it said that you should do that? It's just one of the positive sides of the architecture - it means that instead of messing around changing int64s and other such things for the latest optimised compiler, the runtime does it for you. It would obviously be very stupid to purchase new machines just for the benefit of one program. It would only be worth doing if the whole .net architecture would be of use to your company/client. >> "And your old not optimized C++ code can be slower" >> - Hokey Dokey!, I'll scrap any systems developed in MFC >> and port them over to C# and pig will fly from my butt! >> You've obviously been sucked in by the M$ marketing >> bandwangon or in fact you are from Microsoft. WTF is your problem???? Optimised code in C++ will probably be faster than anything you can get in Java/C# even if that is optimised. But bth, it's like the old argument between ASM and C++. What's best for number crunching and memory management? ASM - but even for things like mp3 encoding and heavy number crunching, more and more people are using high level languages to make programs. But a lamely written C++ program could quite easily be slower than a well written c# program - not all the time, but the fact that C# is a simpler and more structured language in theory makes it easier to make well written programs. Have you even tried .NET? From your last sentence, I presume you haven't, but I've tried it and I'm using it, and I'm quite impressed with it. C# is not as fast as C++ - but unless you're doing number crunching it's unlikely your users will notice it's slower. I haven't noticed any problems with user interfaces in terms of response speed etc, and that's with a beta. Peter Pearson

              N 1 Reply Last reply
              0
              • P Peter Pearson

                >> "It also means, that if you will buy new processor >> (P4, P5, P6...) new version of JIT optimized for >> this processor will provide faster code without >> any recompilation of your source code.". I tell my >> client (100+user) to go out and buy 100+ new >> machines, just because it will provide faster code, >> oh and this is only for Intel Processors ??? Ermmm.... Why would you go and get new machines just to get one program to run faster? Where was it said that you should do that? It's just one of the positive sides of the architecture - it means that instead of messing around changing int64s and other such things for the latest optimised compiler, the runtime does it for you. It would obviously be very stupid to purchase new machines just for the benefit of one program. It would only be worth doing if the whole .net architecture would be of use to your company/client. >> "And your old not optimized C++ code can be slower" >> - Hokey Dokey!, I'll scrap any systems developed in MFC >> and port them over to C# and pig will fly from my butt! >> You've obviously been sucked in by the M$ marketing >> bandwangon or in fact you are from Microsoft. WTF is your problem???? Optimised code in C++ will probably be faster than anything you can get in Java/C# even if that is optimised. But bth, it's like the old argument between ASM and C++. What's best for number crunching and memory management? ASM - but even for things like mp3 encoding and heavy number crunching, more and more people are using high level languages to make programs. But a lamely written C++ program could quite easily be slower than a well written c# program - not all the time, but the fact that C# is a simpler and more structured language in theory makes it easier to make well written programs. Have you even tried .NET? From your last sentence, I presume you haven't, but I've tried it and I'm using it, and I'm quite impressed with it. C# is not as fast as C++ - but unless you're doing number crunching it's unlikely your users will notice it's slower. I haven't noticed any problems with user interfaces in terms of response speed etc, and that's with a beta. Peter Pearson

                N Offline
                N Offline
                NormDroid
                wrote on last edited by
                #7

                Peter >"Have you even tried .NET? From your last sentence, I presume you haven't, but >I've tried it and I'm using it, and I'm quite impressed with it. C# is not as >fast as C++ - but unless you're doing number crunching it's unlikely your users >will notice it's slower. I haven't noticed any problems with user interfaces in >terms of response speed etc, and that's with a beta." "I haven't noticed any problems with user interfaces in terms of response speed etc, and that's with a beta" Oh I really think you must be running your beta on a Cray Supercomputer, .Net runs like a pig on my machine (256Mb Ram, AMD950mhz), "and its not slow", pull the other one :| Anyway can't arsed arguing all day, I have _REAL_ applications to write in _REAL_ world, until VS7.0 is officially released and has been aired for a while, I wont be touching it, even for beta purposes. "and less of the WTF" :mad: Norm Almond Chief Technical Architect FS Walker Hughes Limited

                E P 2 Replies Last reply
                0
                • J Jason Gerard

                  I also believe they are primarily written in C#. It doesn't matter what language Microsoft uses for .NET, it's going to run in the Context of a managed environment. If C++ (not managed) is used, then we lose the benefits of the .NET framework such as garbage collection and language independence. Jason Gerard MCSD, MCSE Technology Point International, Inc.

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #8

                  They can be written in VB as well. There is no difference between these two languages in .NET. They use the same compiler and produce the same managed code. Only difference is in syntax. But I agree, that guys in MS probably use C#.

                  1 Reply Last reply
                  0
                  • N NormDroid

                    Peter >"Have you even tried .NET? From your last sentence, I presume you haven't, but >I've tried it and I'm using it, and I'm quite impressed with it. C# is not as >fast as C++ - but unless you're doing number crunching it's unlikely your users >will notice it's slower. I haven't noticed any problems with user interfaces in >terms of response speed etc, and that's with a beta." "I haven't noticed any problems with user interfaces in terms of response speed etc, and that's with a beta" Oh I really think you must be running your beta on a Cray Supercomputer, .Net runs like a pig on my machine (256Mb Ram, AMD950mhz), "and its not slow", pull the other one :| Anyway can't arsed arguing all day, I have _REAL_ applications to write in _REAL_ world, until VS7.0 is officially released and has been aired for a while, I wont be touching it, even for beta purposes. "and less of the WTF" :mad: Norm Almond Chief Technical Architect FS Walker Hughes Limited

                    E Offline
                    E Offline
                    Erik Funkenbusch
                    wrote on last edited by
                    #9

                    I think you're referring to VS .NET when you say ".Net runs like a pig". Please post some timings of actual .Net applications rather than just the IDE, which has so much debug code to be almost unuseable.

                    1 Reply Last reply
                    0
                    • N NormDroid

                      Peter >"Have you even tried .NET? From your last sentence, I presume you haven't, but >I've tried it and I'm using it, and I'm quite impressed with it. C# is not as >fast as C++ - but unless you're doing number crunching it's unlikely your users >will notice it's slower. I haven't noticed any problems with user interfaces in >terms of response speed etc, and that's with a beta." "I haven't noticed any problems with user interfaces in terms of response speed etc, and that's with a beta" Oh I really think you must be running your beta on a Cray Supercomputer, .Net runs like a pig on my machine (256Mb Ram, AMD950mhz), "and its not slow", pull the other one :| Anyway can't arsed arguing all day, I have _REAL_ applications to write in _REAL_ world, until VS7.0 is officially released and has been aired for a while, I wont be touching it, even for beta purposes. "and less of the WTF" :mad: Norm Almond Chief Technical Architect FS Walker Hughes Limited

                      P Offline
                      P Offline
                      Peter Pearson
                      wrote on last edited by
                      #10

                      >> "I haven't noticed any problems with user interfaces in terms >> of response speed etc, and that's with a beta" Oh I really >> think you must be running your beta on a Cray Supercomputer, >> .Net runs like a pig on my machine (256Mb Ram, AMD950mhz), >> "and its not slow", pull the other one :| Anyway can't arsed >> arguing all day, I have _REAL_ applications to write in >> _REAL_ world, until VS7.0 is officially released and has been >> aired for a while, I wont be touching it, even for beta >> purposes. Dual 933 actually, but my mistake - I meant the user interface of programs made with .NET - not the .NET interface itself - that *is* very slow - and the help is even slower. >> "and less of the WTF" No problem - but less of the quoting out of context. Cheers, Peter Pearson

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups