Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Is there any benefit to installing a 64bit linux for the purposes video encoding/transcoding/compressing/etc as far as speed is concerned? Is there any benchmarks showing performance differences? The only ones I've seen are in windows and don't mention anything about 64 vs 32bit.
Reason I'm asking as 32-bit is more compatible and don't want to install 64-bit unless there is a reason I should and video encoding is the only place I could benefit from 64bit.
If you use a biarch distro, you can run 32 bit versions of programs that have compatibility problems (usually plugins) in 64 bit mode.
I think that the main advantage to running a 64 bit distro is being able to install more memory. A chunk of memory space is occupied by the devices, so even if you have a 32 bit computer with 2GB installed you won't see all of that memory. On a 64 bit distro you can install a lot more memory, and this can profoundly effect the speed of memory intensive applications, such as editing video.
If you use a biarch distro, you can run 32 bit versions of programs that have compatibility problems (usually plugins) in 64 bit mode.
I think that the main advantage to running a 64 bit distro is being able to install more memory. A chunk of memory space is occupied by the devices, so even if you have a 32 bit computer with 2GB installed you won't see all of that memory. On a 64 bit distro you can install a lot more memory, and this can profoundly effect the speed of memory intensive applications, such as editing video.
Qweh? 2 GB? 32bit cpus can support up to 4GB and with PAE mode a lot more, I think your referring to windows Xp and vista since they have that hard coded limitation.
Qweh? 2 GB? 32bit cpus can support up to 4GB and with PAE mode a lot more, I think your referring to windows Xp and vista since they have that hard coded limitation.
I think that was virtual per process, not physical per system.
I'm not sure of the current Linux 32bit x86 limit on virtual address space per process. I think it is about 3GB. It may depend on some kernel build choice and/or it may have changed. A few years ago, some of my coworkers were trying to run a large virtual program on Linux with plenty of swap area and ran into that limit far below 3GB.
On Windows XP32 you can decide (in the boot.ini) either to limit per process virtual to 2GB while limiting file caching and other OS virtual memory uses to an uncomfortably low value, or to limit per process virtual to 3GB while limiting file caching and other OS virtual memory limits to an absurdly low value.
Without PAE a Linux 32bit kernel is limited to physical memory of about 3.25GB (the exact value depends on choices made by the BIOS). With or without PAE XP32 is limited to that same amount (with PAE it is a license restriction rather than a technical restriction). With PAE a Linux 32bit kernel can use much more memory (I think almost 16GB).
I don't understand how any of the above would result in a significant performance difference for and audio or video encoding program. But I don't know the internal details of those programs.
Most programs run on Linux are written for portability, and tend to use the same methods across architectures. But maybe the program in question doesn't. A program might use internal buffer management to access large files in a 32 bit architecture but use mapping to access files in a 64 bit architecture. If you can afford the virtual address space (in 64 bit you certainly can) mapping can be a lot better and might result in a dramatic increase in performance. But you won't see that with typical programs, because it assumes the programmer coded important parts of the program two different way to separately optimize for two different architectures.
The reason why encoding preforemce is better is because the CPU can use 64 and 128bit smid instructions (MMX,3DNOW!,SSE-2-3 etc, the CPU can access 64 bits at a time, this has nothing to do with ram itself.
The reason why encoding preforemce is better is because the CPU can use 64 and 128bit smid instructions
I overlooked that issue, because actually the CPU can use 64 and 128bit simd instructions (and can access 128 bits at a time) even running a 32bit application under a 32bit kernel.
However, I don't know what it takes to get the GCC compiler to generate those instructions in a 32bit application.
If the compiler doesn't generate the instructions, it won't matter that the CPU could have executed them. So you're probably correct that 128bit simd is a big advantage of 64bit mode (for applications that can make good use of simd).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.