Thread: How good is the compiler of VS .NET Pro, really?

  1. #1

    How good is the compiler of VS .NET Pro, really?

    After reading and reading, I've come to the conclusion that I should buy VS .NET Professional edition. I've been using VC6 Standard and that just doesnt cut for a release product.

    I can't get my hands on .NET for about a week or so, and meanwhile I've been having fun writing optomized routines in ASM and getting massive speed increases. The thing is, the Standard Edition of VC6 doesnt do optomizations, so of course my inline ASM code is going to whop everything else. But am I really just wasting my time when I port over to .NET?

    What I want to know from people with the .NET compiler: How optomized do you find the code? Mostly from the asm gurus point of view, does it do an excellent job? I've been reading a lot of articles pointing out that a lot of the optomizations one can do with inline asm, are moot with some of todays top compilers.

    So, taking into account the time it takes to develop asm versions, and also from a speed speed speed point of view, what are your opinions of using up development time on this sort of thing? Is it worth the time spent when using todays top compilers?
    "There's always another way"
    -lightatdawn (lightatdawn.cprogramming.com)

  2. #2
    Registered User
    Join Date
    Apr 2002
    Posts
    1,571
    Okay, I'm assuming you mean VS .NET 2003.

    The VS .NET is a highly optimizing compiler. I have had great results with it. I guess it just depends on what you are optimizing. If you'd like you can e-mail me some sample apps and I can compile them for you and give you some timing read outs so you can see for yourself. I used VC6 for what seems like forever and I was reluctant to move to .NET 2003. It took a little bit for the adjustment, but now I would not go back. I'm no assembly guru so my response probably isn't exactly what you need but I hope it helped a little.
    "...the results are undefined, and we all know what "undefined" means: it means it works during development, it works during testing, and it blows up in your most important customers' faces." --Scott Meyers

  3. #3
    Yes, I mean .NET 2003. Everything I've read about it points to it being a very optimizing compiler. Mainly I'm just wondering how much effect does this have on asm hand-optimization techniques?

    I'm wondering if I'm just wasting time writing my own asm functions when it may just wind up confusing the compiler and cause reduced effectiveness in surrounding areas?
    "There's always another way"
    -lightatdawn (lightatdawn.cprogramming.com)

  4. #4
    Registered User
    Join Date
    Mar 2004
    Posts
    44

    asm c funtion creation

    i wouldnt bother creating your own functions like you already said i have tried doing that before i have just caused confusion with me and the compiler i dont think it is worth your time


    ??? well that is just my point of view

  5. #5
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    The optimiser on VS.NET pro is not easy to beat. And if your inlining then you will probably find that with a little forward thinking, the normal profiled code will be far better (putting an inline asm section in a block can often stop the optimiser from doing any work in that block)

    I've tried a few times to get "faster than the compiler" and it's not always manageable. People will probably come on to this thread and say you can "always" beat the compiler with the right knowlege and that's probably true, but there are very few people around with that type of knowlege and their numbers decrease even more with time.

  6. #6
    >>there are very few people around with that type of knowlege

    Thats what I thought. Thanks Fordy. And considering my knowledge of assembler can be considered at most "good", I'm thinking that I'd rather not mess with the compilers ability to decipher whats best. After all, without writing the entire thing in asm, it knows a whole lot better whats going on.

    >>(putting an inline asm section in a block can often stop the optimiser from doing any work in that block)

    Yes, thats the main reason I had to post this thread. I'm unable to determine the negative effects of this at the time, seeing as how my compiler does no optimizations anyhow. Every asm piece I write brings me amazing speed increases. I think I'll put all that on hold now though until I can actually get VS.NET 2003 Pro and do all this profiling for myself.

    Thanks.
    "There's always another way"
    -lightatdawn (lightatdawn.cprogramming.com)

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. A question about windows programming
    By Hussain Hani in forum Windows Programming
    Replies: 16
    Last Post: 05-23-2007, 07:38 AM
  2. Compiler Design... Anyone That Can Help!
    By ComputerNerd888 in forum C++ Programming
    Replies: 3
    Last Post: 09-27-2003, 09:48 AM
  3. linked list recursive function spaghetti
    By ... in forum C++ Programming
    Replies: 4
    Last Post: 09-02-2003, 02:53 PM
  4. Is ms visual c++ .net any good ?
    By The-Guy in forum C++ Programming
    Replies: 0
    Last Post: 07-04-2002, 07:51 AM
  5. Visual J#
    By mfc2themax in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 10-08-2001, 02:41 PM