Should You EVER Use 32-Bit Versions of Apps? (Yes Actually)

00:12:27
https://www.youtube.com/watch?v=N2XIf_TUmMY

Resumen

TLDRThe video explores the relevance of 32-bit programs in a 64-bit Windows environment, highlighting key differences such as RAM support and speed. While 64-bit programs can utilize more memory, 32-bit programs can sometimes be faster for specific tasks. The video explains that 32-bit programs are limited to 2 or 4 GB of RAM, depending on compilation settings, and discusses the implications of these differences for users. It also addresses the existence of 32-bit programs for compatibility reasons and the potential performance benefits they may offer. Additionally, the video promotes data protection services from Aura.

Para llevar

  • 💻 32-bit programs still have relevance today.
  • ⚙️ 64-bit programs support more RAM, but 32-bit can be faster.
  • 📊 32-bit programs are limited to 2 or 4 GB of RAM.
  • 🔍 x86 refers to 32-bit architecture.
  • ⚡ 32-bit can outperform 64-bit in specific tasks.
  • 🛡️ Aura helps protect your personal data.
  • 📂 Check Compatibility tab to identify program architecture.
  • 📈 Memory footprint differences are often negligible.
  • 🛠️ Some programs only need 32-bit capabilities.
  • 🔑 IMAGE FILE LARGE ADDRESS AWARE flag allows 4 GB RAM access.

Cronología

  • 00:00:00 - 00:05:00

    The video discusses the relevance of 32-bit programs in a predominantly 64-bit Windows environment. While 64-bit programs support significantly more RAM, 32-bit programs can sometimes be faster, especially for operations that do not require extensive memory. The speaker conducted tests comparing the performance of 32-bit and 64-bit versions of a program, finding that 32-bit versions often outperformed their 64-bit counterparts in various operations. This leads to the conclusion that, depending on the specific use case, opting for a 32-bit version may be beneficial despite the general trend towards 64-bit software.

  • 00:05:00 - 00:12:27

    The video further explains the technical aspects of memory limits for 32-bit programs, which can be either 2 or 4 gigabytes depending on compilation settings. The speaker also highlights the lack of straightforward methods to identify whether a program is 32 or 64-bit in Windows. Additionally, the discussion touches on the reasons why many programs still offer 32-bit versions, including compatibility with older systems and the ease of compiling both versions. Ultimately, the speaker encourages viewers to reconsider the utility of 32-bit programs, suggesting they are not as obsolete as commonly perceived.

Mapa mental

Vídeo de preguntas y respuestas

  • Why do 32-bit versions still exist?

    32-bit versions exist for compatibility with older systems and because they can sometimes perform faster for specific tasks.

  • What is the RAM limit for 32-bit programs?

    32-bit programs are typically limited to 2 or 4 GB of RAM, depending on how they were compiled.

  • Can 32-bit programs be faster than 64-bit?

    Yes, 32-bit programs can be significantly faster than 64-bit for certain operations.

  • What does x86 refer to?

    x86 refers to 32-bit architecture.

  • Should I always choose the 64-bit version?

    Not necessarily; if a program doesn't require much RAM, the 32-bit version might be a better choice.

  • What is Aura?

    Aura is a service that helps protect your personal data from being sold by data brokers.

  • How can I tell if a program is 32-bit or 64-bit?

    You can check the Compatibility tab of an EXE file; if it lists Windows 95, it's 32-bit.

  • What is the difference in memory footprint between 32-bit and 64-bit programs?

    64-bit programs may have a slightly larger memory footprint, but the difference is often negligible.

  • Why do some popular programs only offer 32-bit versions?

    Some programs may only need the capabilities of 32-bit and do not require the overhead of maintaining a 64-bit version.

  • What is the significance of the IMAGE FILE LARGE ADDRESS AWARE flag?

    This flag allows 32-bit programs to access up to 4 GB of RAM instead of the default 2 GB.

Ver más resúmenes de vídeos

Obtén acceso instantáneo a resúmenes gratuitos de vídeos de YouTube gracias a la IA.
Subtítulos
en
Desplazamiento automático:
  • 00:00:00
    So you go to download some program and you see  there's a couple options, a 64-bit version and
  • 00:00:04
    a 32-bit version, but I mean, Windows is 64-bit  these days. So why does the 32-bit version even
  • 00:00:10
    exist? Should you EVER bother downloading it?  Well I wanted to know, is there ever any reason to
  • 00:00:16
    use a 32-bit version if the 64-bit is available?  And to my surprise, turns out, yes. And actually
  • 00:00:22
    this means going forward, I'm going to have  to be considering, "hmm, maybe I do want to
  • 00:00:26
    get the 32-bit version actually of some program",  depending on what it is. Now to be clear, I'm not
  • 00:00:31
    talking about Windows itself. There's really no  reason for using 32-bit Windows. What I'm talking
  • 00:00:36
    about is the programs themselves, which Windows  supports running both 32-bit and 64-bit. And by
  • 00:00:42
    the way, if you see x86, that actually is talking  about 32-bit. Don't get confused by that. So then,
  • 00:00:48
    what are the differences between running a 64-bit  version of a program versus the 32-bit? I'll do a
  • 00:00:53
    quick rundown and then we'll get into the details.  The two main differences are the amount of RAM
  • 00:00:58
    they support and their speed. 64-bit programs  support a lot more memory, effectively unlimited.
  • 00:01:04
    You're not going to run up against that limit.  However, 32-bit programs are limited to just two
  • 00:01:09
    or four gigabytes of RAM. It does depend. I'll  explain that later. However, in terms of speed,
  • 00:01:15
    it turns out that 32-bit programs can actually be  significantly faster than 64-bit. And depending on
  • 00:01:23
    if the program inherently does not need a lot of  RAM, then it might actually be the better choice.
  • 00:01:30
    Now, if you're like me, you might've seen people  mention that 32-bit can be faster than 64-bit and
  • 00:01:35
    thought that it's probably just negligible.  But I actually wanted to know for sure. So I
  • 00:01:40
    created a test program that does a bunch of  different operations in a loop and compiled
  • 00:01:45
    it in both 32 and 64-bit and then compared the  differences, and it is significant. Of course,
  • 00:01:50
    I'll get into how much and why this is too later.  Now, there are some other differences I've read
  • 00:01:55
    about. One is that potentially the EXE files  themselves might be a bit bigger for 64-bit,
  • 00:02:02
    but this seems to be negligible. And also another  potential difference is the 64-bit version might
  • 00:02:09
    have a bigger memory footprint in terms of how  much memory space it actually takes up. And
  • 00:02:14
    that'll become clear why later. But again, this  doesn't seem to be huge. Like in the difference
  • 00:02:18
    for my test program, the 64-bit version was 15.5  KB of RAM versus 11.5. Now percentage-wise, that's
  • 00:02:28
    pretty significant, but for a bigger program, it  probably won't make much of a difference. Now,
  • 00:02:32
    at the end of the day, if you don't want to worry  about it, just get the 64-bit version and don't
  • 00:02:36
    worry about it. It'll be fine, most of the time  that's the right choice. Now, before getting
  • 00:02:40
    into the more specifics of the differences,  something else that you shouldn't have to worry
  • 00:02:44
    about is all your data being collected and spread  online, which is where today's sponsor comes in,
  • 00:02:48
    Aura. There are so many sketchy data brokers  out there that collect and sell your information
  • 00:02:53
    to scammers, spammers, and anyone else who may  want to target you. I'm talking your full name,
  • 00:02:57
    email address, home address, health records,  your relative's info, it's all out there. But
  • 00:03:02
    that's where Aura comes in. For example, it  can show me which data brokers it found that
  • 00:03:06
    are selling my info and automatically submit  opt-out requests for me. Cleaning up this
  • 00:03:10
    info not only helps reduce the amount of spam  coming my way, but protects me from hackers,
  • 00:03:14
    who might leverage this info to try and access  my accounts or even do personalized phishing
  • 00:03:19
    attacks. I was even surprised when it showed me  that the collected public info out there even
  • 00:03:24
    includes what kind of car I drive. But Aura also  has a ton of other features, such as an antivirus,
  • 00:03:29
    a VPN, password management, parental controls,  identity theft insurance, all in one place instead
  • 00:03:35
    of needing a bunch of separate apps. Even if you  already have one or two of these tools, you could
  • 00:03:39
    still be leaving doors open to bad actors, but  Aura is always on so you can have peace of mind
  • 00:03:44
    and focus on the important stuff. So if you don't  want to leave you and your family vulnerable,
  • 00:03:47
    to get started you can go to Aura.com/ThioJoe and  start your two week free trial. Link is also in
  • 00:03:53
    the description. And with all that being said,  let's continue. Alright so let's talk about that
  • 00:03:57
    first major big difference between the two, which  is the amount of memory they support. Like I said,
  • 00:04:02
    sometimes you'll see people talk about how 32-bit  programs have a limit of two gigabytes, and other
  • 00:04:08
    times you'll see it's four. And why is that? And  actually it is both. It depends on how the program
  • 00:04:15
    was compiled. You see, when you go to create  or compile the program from the source code,
  • 00:04:20
    there is a "flag" that you can set in the compiler  called "IMAGE FILE LARGE ADDRESS AWARE". And if
  • 00:04:28
    you set this flag, and presumably you might have  to add a little bit extra support in the code,
  • 00:04:32
    then it will actually support up to four gigabytes  of RAM. And if you don't set this flag, it is
  • 00:04:37
    limited to two gigabytes. Now this thing, "image  file", is not talking about picture type files.
  • 00:04:42
    It's talking about "image" in the sense of like  the binary file, the program file. That's what he
  • 00:04:47
    means by image. And random fun fact - it turns out  that you can actually, if you really wanted to,
  • 00:04:53
    set the flag here to negative on a 64-bit program,  by default it's set to support it. But if you set
  • 00:05:02
    it to false, that means that even the 64-bit  program will only support up to two gigabytes
  • 00:05:08
    of RAM, but you would have to specially do that  for some reason. However, for 32-bit programs,
  • 00:05:14
    this flag is not set by default. So it turns out  that most programs I've seen that are 32-bit are
  • 00:05:18
    actually limited by two gigabytes and don't have  this flag set. In Windows, there's surprisingly
  • 00:05:24
    not really an easy way to detect whether a program  is 32 or 64-bit. It's not in the properties
  • 00:05:30
    window. But you can actually tell indirectly if  you go to the Compatibility tab of an EXE and then
  • 00:05:36
    you click the dropdown for which operating system  to try and use it based on. If it says Windows 95
  • 00:05:44
    as the top one, then it means it's 32-bit EXE. And  if it says Windows Vista, then it's 64-bit. Out
  • 00:05:49
    of curiosity, I wrote up a quick C# program that  would go through all the programs in a folder and
  • 00:05:56
    check whether each one was 64 or 32-bit, and in my  Program Files x86 directory, of the 800 in there,
  • 00:06:03
    75% of them did not have this flag set. So yeah,  most of the time it's going to be a two gigabyte
  • 00:06:09
    limit of RAM for 32-bit programs. Now, why are  these limits two and four gigabytes specifically?
  • 00:06:16
    Without getting too technical, it has to do with  how the computer stores the addresses in the RAM.
  • 00:06:21
    On a 32-bit operating system, they use 32-bit  integers for the memory address. And that just
  • 00:06:27
    means that the amount of places you can address  a single specific byte of data is Two to the 32
  • 00:06:34
    power, which ends up being around 4 billion  bytes or four gigabytes to be specific. On a
  • 00:06:39
    64-bit operating system, you have 64 bits to work  with, and it's not simply double, it's actually
  • 00:06:44
    exponential. So a 64-bit address can store around  18 quintillion different locations. That would
  • 00:06:52
    be around 18 million terabytes of RAM, but that  basically just means unlimited. Any limits that
  • 00:06:59
    are in Windows are effectively just arbitrarily  set, but just know that there's really no limit
  • 00:07:04
    with this. Now, as for where the two gigabyte  comes from, back in the day when it was 32-bit
  • 00:07:10
    Windows, Windows actually split up the amount of  RAM that was available to a program running to max
  • 00:07:16
    out at two gigabytes for the user space, which was  like how most programs were running, and then it
  • 00:07:22
    would also have half of it to the kernel space.  So basically for a program running, half of it
  • 00:07:28
    was used by the system for that program, and then  half of it was like the program related stuff. Not
  • 00:07:34
    going to get too much more technical than that.  All right, so now on to the speed difference,
  • 00:07:38
    which is probably more interesting. So I wrote up  a C# program with the help of AI, because I didn't
  • 00:07:42
    know how to make these tests, but basically it  just does a bunch of different various operations
  • 00:07:46
    in a loop, and then I compiled it in 32-bit  and 64-bit. It's just a dropdown setting in
  • 00:07:53
    Visual Studio. And going off the results, it  seems that basically all of the time, 32-bit
  • 00:07:59
    is going to be faster to varying degrees. For  some operations like this linked list traversal,
  • 00:08:05
    it's really not much of a difference, it's like  1%. Probably just margin of error. But you can see
  • 00:08:09
    that for most of the other operations, it's like  a 20% increase in speed over 64-bit. And then for
  • 00:08:17
    the binary tree operations, which apparently are  more memory intensive, that's like 40% faster,
  • 00:08:23
    which is kind of crazy. Now as for why this is  the case, why it's faster, from my understanding,
  • 00:08:27
    I'm not going to pretend to fully understand it,  but basically since the addresses themselves are
  • 00:08:31
    smaller, that means that it's actually faster to  work with getting the data and moving it around
  • 00:08:39
    and stuff like that. And it probably does make  more of a difference for a lot of little small
  • 00:08:42
    operations where it's small amounts of data,  especially for repeated operations where you
  • 00:08:47
    might be able to fit the whole thing into  the CPU's cache, which if you didn't know,
  • 00:08:52
    is way faster than the RAM. There's L1, L2, and  L3, which usually is not a lot. It's maybe on the
  • 00:08:59
    order of kilobytes for L1 cache and then megabytes  for L2 and L3. And since the size of the addresses
  • 00:09:06
    and stuff are half for 32-bit, that means you  could probably fit more in there to have access
  • 00:09:12
    to that way more faster. So for applications  that you know will never need more than two or
  • 00:09:17
    potentially four gigabytes of RAM, then you might  actually want to go with the 32-bit if it's there.
  • 00:09:22
    Of course like always, I should mention this  is a synthetic test. It doesn't always resemble
  • 00:09:27
    real life. And potentially in most cases, it is  preferable to have the extra RAM available than
  • 00:09:33
    it is just being able to do some operations  faster. However, at least it does mean that
  • 00:09:39
    if you're going to look for a program and you're  like, "Oh, it's only the 32-bit version available,
  • 00:09:44
    it's so old!", you don't necessarily have to be  mad about it. You know, it's not the end of the
  • 00:09:48
    world, might actually be the better choice. So  with all that context, it kind of does explain
  • 00:09:52
    why you still do see 32-bit programs. Like if  you go into the Windows "C:\Program Files",
  • 00:09:58
    you'll also see that there's a "Program Files x86"  folder. And again, x86 is talking about 32-bit,
  • 00:10:03
    and there's actually a lot of programs that  go into here. If you're wondering why they
  • 00:10:07
    decided to make the new folder for x86 instead of  64-bit, well basically the convention in Windows
  • 00:10:14
    is that the regular Program Files folder just gets  assigned to whatever is the native architecture of
  • 00:10:19
    that installation of Windows. For example, if  you have the ARM version, like on this virtual
  • 00:10:24
    machine I had that runs on Mac, it's Program  Files has all the ARM stuff in there. It's not
  • 00:10:30
    like Program Files ARM, though there is one called  ARM, but that's actually for 32-bit ARM programs.
  • 00:10:36
    So it's a bit confusing. So as for why you see  a lot of programmers who offer both the 32 and
  • 00:10:42
    64-bit version of the program, I highly doubt that  they're thinking about it as, "Oh, this one might
  • 00:10:49
    be a bit faster if it doesn't need as much RAM". I  think they probably just do it because potentially
  • 00:10:55
    there's people on really old Windows that might  need the 32-bit. And also it's easy enough to just
  • 00:11:02
    usually compile it in both versions automatically.  It's not much more difficult for most programs. As
  • 00:11:07
    for some popular programs that are only made  in 32-bit, like I think Steam is only 32-bit,
  • 00:11:16
    it probably, again, comes down to the fact that  they probably determined that for their purposes,
  • 00:11:20
    it doesn't make sense to introduce the extra  overhead of development, as small as it might be,
  • 00:11:25
    to have to offer two different versions if they  don't need that extra memory overhead, if Windows
  • 00:11:31
    is always going to support the 32-bit version  anyway. And also I'll point out that potentially
  • 00:11:36
    they could just have like helper programs that  maybe run as like a separate process for some
  • 00:11:42
    parts that do use 64-bit or something like that,  I don't know. So yeah, it's not necessarily that
  • 00:11:47
    everyone should always upgrade to 64-bit. Turns  out it is not as important as I thought. So I
  • 00:11:53
    would be very curious to know what you guys  think, and whether you were as surprised as
  • 00:11:57
    I was that maybe 32-bit EXEs are not as useless as  you thought. So we can talk about that all down in
  • 00:12:02
    the comments. Thanks again to Aura for sponsoring  the video. If you want to protect you and your
  • 00:12:06
    family's data and take advantage of all the other  features it has, go to Aura.com/ThioJoe for a
  • 00:12:11
    two-week free trial. Link is in the description.  Now, if you want to keep watching, the next video
  • 00:12:14
    I'd recommend is a really cool tool for image  manipulation that you probably have never heard
  • 00:12:19
    of before and does not use AI or anything, but  it's still extremely cool. So I'll put that link
  • 00:12:23
    right there you can click on. So thanks so much  for watching and I'll see you in the next one.
Etiquetas
  • 32-bit
  • 64-bit
  • Windows
  • RAM
  • speed
  • programs
  • x86
  • Aura
  • data protection
  • performance