Road to Mac OS X Snow Leopard: 64-bits, Santa Rosa, and the great PC swindle

135

Comments

  • Reply 41 of 97
    Quote:
    Originally Posted by badtruffle View Post


    To be honest, I'd rather see a cogent rebuttal than a fake concession. Tell me what is wrong with my explanation and I'll either admit that indeed it takes 152.1x more memory to get reasonable performance on a 64-bit machine or expand upon my earlier points (depending on whether manage to convince me that I'm wrong).



    I already told you what's wrong. longs, doubles, and pointers, and structs are double the size. The address space for an Objective-C object class is double the size, and the alignment of all these things are along 8-byte boundaries.



    I didn't say the app would take up EXACTLY 2x the memory, I said ROUGHLY 2x. *ALL* 64-bit applications *WILL* take up at least moderately more memory, and in my experience, MOST 64-bit applications that a power user will use take up almost 2x the memory. There is no getting around it, and it's not Apple's fault.
  • Reply 42 of 97
    Quote:
    Originally Posted by badtruffle View Post


    To be honest, I'd rather see a cogent rebuttal than a fake concession. Tell me what is wrong with my explanation and I'll either admit that indeed it takes 152.1x more memory to get reasonable performance on a 64-bit machine or expand upon my earlier points (depending on whether manage to convince me that I'm wrong).





    http://developer.apple.com/documenta...1064-CH206-SW5



    http://developer.apple.com/documenta...nkElementID_25
  • Reply 43 of 97
    Quote:
    Originally Posted by badtruffle View Post


    To be honest, I'd rather see a cogent rebuttal than a fake concession. Tell me what is wrong with my explanation and I'll either admit that indeed it takes 152.1x more memory to get reasonable performance on a 64-bit machine or expand upon my earlier points (depending on whether manage to convince me that I'm wrong).



    And by the way, yes, I do think you'll need 4x the memory in 64-bit than you will in 32-bit. Apple usually offers 1GB of memory in their current line of computers. This is woefully inadequate even for the 32-bit architecture. Apple should be offering their base systems with 2GB of memory. Anyone that sticks with the default 1GB quickly realizes they are swapping to disk like mad. Therefore, Apple is going to need to bump their default memory on new machines to 4GB when 10.6 comes out, in my opinion. If they are cheap and bump to 2GB people will be very unhappy with performance.



    4GB == 1GB x 4, hence the 4x factor I used in my original post.
  • Reply 44 of 97
    Quote:
    Originally Posted by zmonster View Post


    I already told you what's wrong. longs, doubles, and pointers, and structs are double the size. The address space for an Objective-C object class is double the size, and the alignment of all these things are along 8-byte boundaries.



    I didn't say the app would take up EXACTLY 2x the memory, I said ROUGHLY 2x. *ALL* 64-bit applications *WILL* take up at least moderately more memory, and in my experience, MOST 64-bit applications that a power user will use take up almost 2x the memory. There is no getting around it, and it's not Apple's fault.



    again, it really depends on the app. if you're something like microsoft word, where most of your memory is the huge chunk of code that does everything you could ever imagine, and the rest is text data in a pretty simple data structure, your memory requirements are unlikely to get much larger. If you're doing huge (sparse or not) integer matrix calculations, then I can see your point. However, in most consumer apps (i.e., not scientific ones), I'd say that most of the heap is filled with loaded user data files, UI graphics, and a few longs/pointers (doubles don't change in size). The alignment issue only becomes one when most of your memory is taken up by structs, which again I don't think is really the case.



    Even in Objective C, if you allocate a bajillion NSStrings, do you really think the overhead of having larger pointers/coarser alignment in the structure offsets the rather large fixed cost of the actual string data you're putting in the strings, which is the same across architectures?



    I'm not saying it isn't, but the situations in which your memory usage actually doubles are the exception, not the rule, in my opinion/experience. If I were to write a 100-line c program that reads in a large file and constructs a huge directed graph (with no significant data at the nodes) on the heap, then I'm pretty sure my memory usage would approximately double (assuming I used pointers to represent edges), but I still think this isn't the average case, and certainly does not warrant a "2x memory needed, 4x to get better performance".
  • Reply 45 of 97
    As others have said already this article is full of misinformation, but they missed a major point. What 64 bit buys is more addressing more space. By using virtual memory every application is given the ENTIRE addressing space, 32 bit operating systems are thus limited to something like 3 gigs of memory use PER application. So you still benefit from having 4 or 8 gigs of ram, it just can't all be allocated to a single application. This is different of course from being completely useless as the article states. I don't know why I am posting this, no one is going to read it anyway....
  • Reply 46 of 97
    Quote:
    Originally Posted by zmonster View Post


    And by the way, yes, I do think you'll need 4x the memory in 64-bit than you will in 32-bit. Apple usually offers 1GB of memory in their current line of computers. This is woefully inadequate even for the 32-bit architecture. Apple should be offering their base systems with 2GB of memory. Anyone that sticks with the default 1GB quickly realizes they are swapping to disk like mad. Therefore, Apple is going to need to bump their default memory on new machines to 4GB when 10.6 comes out, in my opinion. If they are cheap and bump to 2GB people will be very unhappy with performance.



    4GB == 1GB x 4, hence the 4x factor I used in my original post.



    That makes no sense. Because they included half the memory that they needed on 32-bit machines, and chose to fix that times the contested 2x figure in 64-bit machines, 64-bit needs 4x the memory?



    You portrayed it as an inherent 64-bit property. If they were providing underpowered machines earlier, then that's just a marketing issue, and has nothing to do with 64-bit "needing" 4x the memory.
  • Reply 47 of 97
    Quote:
    Originally Posted by badtruffle View Post


    That makes no sense. Because they included half the memory that they needed on 32-bit machines, and chose to fix that times the contested 2x figure in 64-bit machines, 64-bit needs 4x the memory?



    You portrayed it as an inherent 64-bit property. If they were providing underpowered machines earlier, then that's just a marketing issue, and has nothing to do with 64-bit "needing" 4x the memory.



    I apologize for that bit of confusion. My bottom line -- Apple's currently shipping baseline 1GB 32-bit machines will need to be 4GB 64-bit machines when 10.6 comes out in order to satisfy users and make them happy.



    You can try this simple experiment yourself with Java. Find yourself a 64-bit capable machine. Install the 32-bit JVM and the 64-bit JVM. Run an app like Star Office. You will see that the 64-bit app takes up almost 2x the memory that the 32-bit version does. I tried this myself on both Java, and OSX, with my own source code. I saw the same result. I'm not trying to poo-poo Apple or 64-bit. I'm just saying, watch out, people don't realize that 64-bit has a relatively unknown downside.
  • Reply 48 of 97
    Quote:
    Originally Posted by danami View Post


    This story is bad. You are blaming Microsoft for not supporting PAE? Duh? They already have multiple 64bit operating systems that work just fine. The 4GB memory limit is a problem of all 32 bit OS's .. And like other people have pointed out PAE is a piece of crap.. I'm a linux server admin and work with a lot of hi-mem systems with openvz.. You always install the 64bit OS over PAE as PAE has way too much overhead.. Both 64bit and 32bit apps run fine on a 64bit OS..



    Oh ya I'm writing this on my vista 64 OS with 8 gig ram .. running all my 64/32 apps and games fine .. and it supports every piece of hardware that I've ever thrown at it!



    The problems described affect the majority of Windows PC users, and have existed for five years. It's great that you have an 8GB PC with x64 Windows, but your setup represents a tiny fraction of the installed base that is far less significant than the Mac platform, as will be pointed out in the following segment.



    You might as well say that hurricanes, tornadoes, earthquakes, and winter storms are "not a problem" because you live in Las Vegas.
  • Reply 49 of 97
    Quote:
    Originally Posted by shamgar03 View Post


    As others have said already this article is full of misinformation, but they missed a major point. What 64 bit buys is more addressing more space. By using virtual memory every application is given the ENTIRE addressing space, 32 bit operating systems are thus limited to something like 3 gigs of memory use PER application. So you still benefit from having 4 or 8 gigs of ram, it just can't all be allocated to a single application. This is different of course from being completely useless as the article states. I don't know why I am posting this, no one is going to read it anyway....



    I think you have provided some misinformation here. Only 32 bit windows which is the defacto OS sold by oems is limited to 3 gb. OS X does not have to overcome this limitation with an upgrade to the os.



    The main point of the article is stating that many consumers are being duped into believing that more ram is beneficial on a standard 32 bit system.
  • Reply 50 of 97
    Quote:
    Originally Posted by shamgar03 View Post


    As others have said already this article is full of misinformation,



    Honking your horn doesn't mean you have the right of way.



    Quote:

    but they missed a major point. What 64 bit buys is more addressing more space. By using virtual memory every application is given the ENTIRE addressing space, 32 bit operating systems are thus limited to something like 3 gigs of memory use PER application. So you still benefit from having 4 or 8 gigs of ram, it just can't all be allocated to a single application. This is different of course from being completely useless as the article states. I don't know why I am posting this, no one is going to read it anyway....





    Boggle: where did the article state virtual memory was "completely useless"? Having an architecture that limits the vast majority of PCs from using more than 2-3GB of RAM has a major impact on virtual memory performance, because it has to resort to using the disk more.



    All current and a large proportion of Apple's installed base of Macs now support 4GB of RAM, and its Pro and Xserve support 32GB of RAM. The fraction of PCs that can do this are very small, and artificially limited because Microsoft couldn't get PAE to work in the 32-bit Windows that the vast majority of PC users run. Only a minority of new PCs can even run x64 Windows.
  • Reply 51 of 97
    Quote:
    Originally Posted by zmonster View Post


    ? My bottom line -- Apple's currently shipping baseline 1GB 32-bit machines will need to be 4GB 64-bit machines when 10.6 comes out in order to satisfy users and make them happy.



    Baseline Macs are 64-bit. There are no new Macs being sold that are 32-bit. But you are correct about 1GB RAM for baseline models.
  • Reply 52 of 97
    Quote:
    Originally Posted by zmonster View Post


    I apologize for that bit of confusion. My bottom line -- Apple's currently shipping baseline 1GB 32-bit machines will need to be 4GB 64-bit machines when 10.6 comes out in order to satisfy users and make them happy.



    You can try this simple experiment yourself with Java. Find yourself a 64-bit capable machine. Install the 32-bit JVM and the 64-bit JVM. Run an app like Star Office. You will see that the 64-bit app takes up almost 2x the memory that the 32-bit version does. I tried this myself on both Java, and OSX, with my own source code. I saw the same result. I'm not trying to poo-poo Apple or 64-bit. I'm just saying, watch out, people don't realize that 64-bit has a relatively unknown downside.



    In x64 Windows you can still use your 32-bit legacy (existing or new) applications. I would assume OS X 10.6 would do likewise.



    Applications that have to have 64-bit memory, e. g. double precision code (like ALL the 32-bit FORTRAN code I've written for the past 30 years), already use two 32-bit real memory locations.



    Moving a 32-bit application, that requires mostly double precision 32-bit addresses. once written as 64-bit single precision code, will run ~2X faster, as was the case between 16-bit Windoes and 32-bit Windows, or any OS for that matter. Since what once took two memory read/write operations, or the overhead in doing a 32-bit double precision calculation versus doing a 64-bit single precision calculation, is now done with approximately half the total number of machine instructions.



    If you application doesn't need 64-bit code don't write 64-bit code.



    It's really just as simple as that.



    BTW, the article is a POS. \
  • Reply 53 of 97
    Quote:
    Originally Posted by Booga View Post


    This is a good point if worded a little inflammatorily... XP and Vista both have 64 bit editions, and the percentage of users buying the 64-bit editions has made huge jumps in the last few months. Some OEMs are even making the 64-bit editions of Windows the default on all new desktops. At this point I suspect the market share of 64-bit Windows is at least as big as the total MacOS market share.



    And because Microsoft didn't make the bone-headed decision not to support 64-bits on their older APIs, users will actually be able to *USE* 64 bits on their software, unlike Mac Photoshop users for example.



    All in all, Apple blew the 64 bit transition big-time. They had a much better story than Windows a year ago but now are way behind.



    you have this backwards. Microsoft is pretty soundly criticized for not taking advantage of the transition to 64 bits as an opportunity to modernize their APIs, something Apple has clearly done with Cocoa and Objective-C 2.0. There is a reason Apple's market share has been growing larger quarter by quarter, growth which is only accelerating.
  • Reply 54 of 97
    kaiwaikaiwai Posts: 246member
    Quote:
    Originally Posted by thor79 View Post


    Yeah...PC users are getting screwed over if they stay uninformed. If they choose to become informed even the most basic research will deliver the correct answer, upgrade to a 64 bit OS. Since all recent essential hardware supports 64 bit just throwing on a 64 bit OS is all that is needed to solve the problem.



    PC Fan Boys such as me already know of the issue...this is nothing new. This only affects non-techies who know crap about their computer. These are the same people who take their computer troubles to the Geek Squad and get screwed over there...losing documents unnecessarily and buying unnecessary hardware when their current hardware is fine. These are the same people who, when they get fed up with their PC, switch to Mac after some salesman tells them Macs run flawlessly, which is another lie.



    Question: If you hate Mac so much, why the hell are you replying to a Mac forum?



    PS. Owning an iPod doesn't make you an Apple user btw.
  • Reply 55 of 97
    Quote:
    Originally Posted by Prince View Post


    Honking your horn doesn't mean you have the right of way.









    Boggle: where did the article state virtual memory was "completely useless"? Having an architecture that limits the vast majority of PCs from using more than 2-3GB of RAM has a major impact on virtual memory performance, because it has to resort to using the disk more.



    All current and a large proportion of Apple's installed base of Macs now support 4GB of RAM, and its Pro and Xserve support 32GB of RAM. The fraction of PCs that can do this are very small, and artificially limited because Microsoft couldn't get PAE to work in the 32-bit Windows that the vast majority of PC users run. Only a minority of new PCs can even run x64 Windows.



    I'm running 64-bit Vista on one partition and 32-bit Vista on another partition. Both were the same in terms of instillation. In other words, easy and painless.



    I now just use the 64-bit Vista because I get all 4 GB of RAM on my laptop.



    Now, most Windows and OS X users don't need a 64-bit OS.



    BTW, there are way more 64-bit Windows applications now than there ever will be for 64-bit OS X.



    The Santa Rosa chipset opened up the same 4 GB address space for all 64-bit OS'es.



    OS X has no advantage over Windows in that regard, as both use the same Intel chipsets. D'oh!



    Your last statement is incorrect, unless you are referring to the market of sub $500 boxen, which OS X doesn't compete with because there is no 30% margin at this price point for Apple.
  • Reply 56 of 97
    Quote:
    Originally Posted by alandail View Post


    you have this backwards. Microsoft is pretty soundly criticized for not taking advantage of the transition to 64 bits as an opportunity to modernize their APIs, something Apple has clearly done with Cocoa and Objective-C 2.0. There is a reason Apple's market share has been growing larger quarter by quarter, growth which is only accelerating.



    And has nothing to do with the OS'es bitness.
  • Reply 57 of 97
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by franksargent View Post


    BTW, there are way more 64-bit Windows applications now than there ever will be for 64-bit OS X.



    Where do you get your numbers from? Considering that 64-bit OS X is backwards compatible with 32-bit apps and will run pretty much any Unix app it's hard to see how Windows can have that many apps running on 64-bits.
  • Reply 58 of 97
    The main advantage of 64-bit computing on x86-64 platforms, increased

    memory capability, is dependent upon several factors, including hardware

    implementation (including CPU's virtual address size, page table entry size,

    and chipset's addressibility) and operating system's design. This article,

    while informative, is somewhat misleading in many places.





    Quote:
    Originally Posted by AppleInsider View Post




    System RAM vs MMIO: the "where is my 4GB?" problem



    ... (abridged) ...



    Note that this doesn't mean that MMIO "eats up" your RAM, it's just that the hardware maps that device-related memory over the top of physical memory, leaving fewer addresses available to the operating system to use for its system RAM. This problem is tied to 32-bit chipsets, which are independent from the CPU. There are 64-bit PCs with 32-bit chipsets. For example, Apple's 64-bit Core 2 Duo laptops prior to the second half of 2007 all used 32-bit addressing.




    This is misleading in a way that conventionally chipsets are not described in any

    lingo of bitwidth, such as "32-bit chipset". In terms of addressible memory,

    simply the amount is used. For example, Intel P35 chipset is capable of

    handling 8 GB, while P45 is capable of 16 GB, contingent upon the availability

    of suitable memory module. There is no such thing as "33-bit chipset" (equal

    to 8GB) or "34-bit chipset" (equal to 16 GB).



    Intel's Santa Rosa (965 express) platforms, as used in many recent Macs,

    are capable of handling 8 GB of RAM ** on paper **, but in reality most

    if not all laptops can only handle 4 GB. By using the integrated GMA X3100,

    some memory has to be allocated for graphics use, regardless what version

    of OS (32 vs. 64 bit) is being used. Even a discrete graphic solution is used

    along with 64-bit OS, PCI configuration still eats up some memory from

    the 4GB space, although the amount may be miniscule.



    Quote:
    Originally Posted by AppleInsider View Post




    That means that while they can execute 64-bit code and handle 64-bit virtual memory, they still can't address more than 4GB of physical RAM, minus roughly 0.75 GB of MMIO,



    ... (abridged) ...




    When x86-64 processors run at legacy mode (100% compatible/mimicking x86),

    they are incapable of running long mode (or in Intel's term, IA-32e mode) specific

    instructions. So the description above is a moot point. Also, current implementations

    from either AMD or Intel do not allow 64-bit virtual memory; that will be the future

    expansion and currently it stays at 48-bit.
  • Reply 59 of 97
    Quote:
    Originally Posted by solipsism View Post


    Where do you get your numbers from? Considering that 64-bit OS X is backwards compatible with 32-bit apps and will run pretty much any Unix app it's hard to see how Windows can have that many apps running on 64-bits.



    Business, science, and engineering. No contest, OS X has like ~zero wrt Windows.



    All the high priced Windows applications offer x86 and x64 versions.



    I've been able to find an x64 application for just about anything I've used or have looked at so far.



    The Mac GUI is still 32-bit, only under the hood are applications 64-bit native.



    SolidWorks. AutoCAD. Pro Engineer. Abacus.
  • Reply 60 of 97
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by franksargent View Post


    Business, science, and engineering. No contest, OS X has like ~zero wrt Windows.



    All the high priced Windows applications offer x86 and x64 versions.



    I've been able to find an x64 application for just about anything I've used or have looked at so far.



    The Mac GUI is still 32-bit, only under the hood are applications 64-bit native.



    SolidWorks. AutoCAD. Pro Engineer. Abacus.



    That isn't what you said. YOu said there are more 64-bit Windows applcations now than their ever will be for 64-bit OS X. High-priced apps account for a small part of all apps and your knowledge seems to stem from a limited, anecdotal accounting of 64-bit apps. SInce all 32-bit apps work on 64-bit Leopard but the same can't be said for Windows shouldn't we also count all of them since the original issue stemmed from 64-bit Windows having a very limited app numbers compared to 32-bit Windows?
Sign In or Register to comment.