CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 7 of 7
  1. #1
    Join Date
    May 2002
    Posts
    1,798

    Would like info on your experience with 64-bit compiler

    As my applications grow larger and more complex, it seems to take longer and longer to compile them using VS 2008 (32-bit). My son, a professional developer of video graphics, visited me recently and commented on how slow my computer was. He indicated that his company only used 64-bit servers.

    My questions to you are:
    1 - Would a 64-bit compiler speed up the development process significantly?
    2 - If I were to obtain a 64-bit server, would I need to obtain 64-bit versions of Visual Studio ?
    3 - I the answer to 2 was yes, would I still have the option of developing for 32-bit or 64-bit ( I presume only 64-bit target machines would be able to run my 64-bit apps.)
    4 - Most of my serious program involves theoretical math and statistics. Would 64-bit development offer more precision than 32-bit ?
    5 - Do you think that the future of application development is with 64-bit machines?
    6 - Under what circumstances do you think that the cost/benefit ratio of switching to 64-bit development would be justified?

    Thanks for you input. Feel free to add any other remarks you feel might be helpful.
    mpliam

  2. #2
    Join Date
    Jan 2007
    Posts
    102

    Re: Would like info on your experience with 64-bit compiler

    >> 1 - Would a 64-bit compiler speed up the development process significantly?

    The difference in performance between 32-bit and 64-bit versions of applications greatly depends upon their types and data types they are processing. But in general you may expect a 2-20% performance gain from mere recompilation of a program – this is explained by architectural changes in 64-bit processors.

    >> 2 - If I were to obtain a 64-bit server, would I need to obtain 64-bit versions of Visual Studio ?

    No, there are only 32-bit versions of Visual Studio at the moment.

    >> 3 - I the answer to 2 was yes, would I still have the option of developing for 32-bit or 64-bit

    You can develop 32-bit and 64-bit applications on one machine.

    >> 4 - Most of my serious program involves theoretical math and statistics. Would 64-bit development offer more precision than 32-bit ?

    See my answer 1.

    >>5 - Do you think that the future of application development is with 64-bit machines?

    Sure!

    >> 6 - Under what circumstances do you think that the cost/benefit ratio of switching to 64-bit development would be justified?

    Yes.

    All your questions from this knowledge base (http://www.viva64.com/en/k/) about 64-bit development.

  3. #3
    Join Date
    Apr 2000
    Location
    Belgium (Europe)
    Posts
    4,626

    Re: Would like info on your experience with 64-bit compiler

    Quote Originally Posted by Karpov2007 View Post
    >> 1 - Would a 64-bit compiler speed up the development process significantly?

    The difference in performance between 32-bit and 64-bit versions of applications greatly depends upon their types and data types they are processing. But in general you may expect a 2-20% performance gain from mere recompilation of a program – this is explained by architectural changes in 64-bit processors.
    Sorry, but this is bogus.
    Recompilation for Win64 will not make your program faster, in fact it's more likely to make it slower.

    If any gains are made at all, they are made because the OS is capable of better organising the available RAM. And this in turn assumes you have a Win64bit machine with at least 6GB Ram.

    While a 4GB machine will technically also give you 1Gb of extra ram, in practice, most of that 1Gb is getting lost in bigger internal tables (page tables, TLB), somewhat larger exes and exe's typically consuming more memory.

    So will YOUR app run faster: the answer depends heavily on what said app does. Is it an app that uses lots of memory, then 'probably'. if it's an app that is rather small but is heavily CPU based, then 'probably not'.

    If your Win64 PC has lots of memory however, than overall responsiveness and cooperation should work better, and this may give the impression that individual apps "run faster".

    >> 2 - If I were to obtain a 64-bit server, would I need to obtain 64-bit versions of Visual Studio ?

    No, there are only 32-bit versions of Visual Studio at the moment.
    A windows 64 machine can run both Win64 enabled and Win32 enabled programs at the same time. Do note that Win64 is not the same as 'itanium' which is a whole different CPU altogether. Win64 = intel pentium class with 64bit extentions.

    >> 4 - Most of my serious program involves theoretical math and statistics. Would 64-bit development offer more precision than 32-bit ?

    See my answer 1.
    If said theoretical math and statistics are using the double/float types: No.
    The floating point types are unchanged.
    If you need more precision on floating pointmath, you should seek a library that offers floating point types with larger (possibly arbitrary) mantissa. Do note that this will typically mean a considerable loss in speed since all the math will be done in software rather than in the FPU.

    If using integer math: No. Maybe.
    A 32bit integer remains to be a 32bit integer.
    If you used __int64, then it will remain to be an __int64, but you'll get the advantage of faster math on those.

    A 'long' will change from 32 to 64bit, so yes, in that case you would get 'more bits'. But this is also the place where you would likely have to make various tweaks to the actual code to make everything work properly. Especially since you can no longer assume that sizeof(int)==sizeof(long).

    >>5 - Do you think that the future of application development is with 64-bit machines?

    Sure!
    Win32 will be phased out over time. Onthe server front, this is already obvious. Windows Server 2008 2ndedition is no longer available in a Win32 variety, it's win 64 only.

    Win32 applications will be with us for some time to come (there's even still a lot of Win16 and even DOS stuff in daily use). But it's safe to say that somewhere down the line Windows will stop adding new stuff in the Win32 parts of their OS. Even to the point where it stops entirely.

    Right now, locking yourself into Win64 only might be problematic depending on what type of app you have though. So shipping Win32 as well as Win64 versions may be necessary.

    >> 6 - Under what circumstances do you think that the cost/benefit ratio of switching to 64-bit development would be justified?

    Yes.

    All your questions from this knowledge base (http://www.viva64.com/en/k/) about 64-bit development.
    [/quote]

    If your application NEEDS more than 1Gb of memory to run properly, or you need to run many apps concurrently, Win64 will be of benefit due to a larger address space and lower memory fragmentation risk.

    If your app depends heavily on 64bit integer math, should be obvious. This extends to some numerical libraries that use 64bit types internally.


    Will C++ development on Win64 be of benefit? As in "will it make my C++ sources compile faster"... I doubt it, compilation doesn't benefit that much from any of the benefits of Win64 translation tables are limited in size for a reason other than just address space of the compiler.

    You're likely going to notice some increase, but that's more because of larger disk cache. If you are worried about compilation speed, then investing in a top notch harddisk or SSD , decent Raid will make more of a difference than Win64.

  4. #4
    Join Date
    Feb 2002
    Posts
    4,640

    Re: Would like info on your experience with 64-bit compiler

    Question # 1 was:
    1 - Would a 64-bit compiler speed up the development process significantly?
    Not, "Would targeting my application to a 64 bit machine speed it up?". Honestly, I don't have any data that the 64 bit version of Visual Studio is any faster/slower then the 32 bit version. To answer question 2, yes, there are 64 and 32 bit versions of Visual Studio. And, I believe there are separate licenses for both. IIRC, if you get the 64 bit version, the 32 bit compiler is included. Also, I believe that you need the 64 bit version, running on a 64 bit machine, to target 64 bit compilations. In other words, you cannot compile for 64 bit, on a 32 bit machine. But, the opposite is true (you can compile 32 bit applications on a 64 bit machine).

    Viggy

  5. #5
    Join Date
    Apr 2000
    Location
    Belgium (Europe)
    Posts
    4,626

    Re: Would like info on your experience with 64-bit compiler

    Viggy is correct in that.
    Which is somewhat strange, there's no reason why they couldn't have made the the Win32 version of VS build Win64 versions as well. (you wouldn't be easily able to debug/test, which is an important part of development though).

  6. #6
    Join Date
    Jan 2002
    Location
    Houston, TX
    Posts
    1,421

    Re: Would like info on your experience with 64-bit compiler

    Quote Originally Posted by OReubens View Post
    Viggy is correct in that.
    Which is somewhat strange, there's no reason why they couldn't have made the the Win32 version of VS build Win64 versions as well. (you wouldn't be easily able to debug/test, which is an important part of development though).
    I'm not convinced that this is correct. We have our development systems on WinXP SP3 (32-bit) and VS2010 installed on it - so obviously we have the 32-bit VS2010 installed.

    We also compile some of our apps to target WinXP (64-bit), Vista (64-bit) and Win7 (64-bit) and those executables run fine on the 64-bit systems, but are not recognized as valid executables on 32-bit systems.
    Be sure to rate those who help!
    -------------------------------------------------------------
    Karl - WK5M
    PP-ASEL-IA (N43CS)
    PGP Key: 0xDB02E193
    PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193

  7. #7
    Join Date
    Oct 2002
    Location
    Timisoara, Romania
    Posts
    14,360

    Re: Would like info on your experience with 64-bit compiler

    Your questions have been fairly answered already, so I only want to chime in saying that I believe that 32-bit processors will be soon history. And just as today we don't write 16-bit applications, in a relatively short time we won't be writing 32-bit applications any more. And the sooner you start developing 64-bit versions for your apps, the better.
    Marius Bancila
    Home Page
    My CodeGuru articles

    I do not offer technical support via PM or e-mail. Please use vbBulletin codes.

Posting Permissions

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





Click Here to Expand Forum to Full Width

Featured