ia32-libs [was: Bringing Wine into Main]

Karl Magdsick kmagnum at gmail.com
Wed Dec 17 17:39:43 GMT 2008


A rule of thumb for CPU-bound applications compiled using gcc 4.2 is
about a 20% speed up on AMD CPUs in long mode, largely due to 2
things:
(1) fewer register spills (although, it's my understanding that x86-64
still generally has a sub-optimal number of GP registers)
(2) in 64-bit mode, the x87 instructions are deprecated and the SSE
instructions are always available

Most other 64-bit CPUs show a slight slowdown in 64-bit mode, due to
more state (same number of GP registers, but larger) needing to be
saved in context switches and function calls.

Intel initially put most/all of its 64-bit effort behind ia-64
(Itanium) and its first x86-64 offerings showed about equal
performance in 32-bit and long modes.  I haven't benchmarked any of
the Intel chips in a while, but I imagine their long mode
implementation is now significantly more performant compared to their
32-bit implementation for most CPU-bound workloads.

Also, I'm sure the OpenSolaris people are making great use of their
resources, but how do their resources compare to Ubuntu and Deban?
Part of their decision and analysis may be colored by the significant
reduction in resources necessary to maintain a single userspace rather
than a dual 32-bit and 64-bit userspace.


Cheers,
-Karl

<rant>
With the performance and other technical advantages of long mode over
32-bit mode, and the majority of x86 CPUs sold over the past couple of
years supporting long mode, it would be nice to see the popular
open-source *nix distributions (as well as our friends in Redmond)
ship OS installation media with dual kernels and install the 64-bit
kernel if the hardware supports it.  (I believe our friends in
Cupertino already do something like this.)  Of course, an "advanced"
install option to force a 32-bit kernel or a 32/64-bit dual boot would
be nice.  64-bit drivers will continue to be often neglected by
vendors until 64-bit becomes the default.
</rant>

On Wed, Dec 17, 2008 at 8:15 AM, Scott James Remnant
<scott at canonical.com> wrote:
> On Wed, 2008-12-17 at 10:21 +0000, Przemek Kulczycki wrote:
>
>> I'm wondering if we really need a full 64-bit OS and all applications at all.
>> In [Open]Solaris, only the kernel and some apps are 64-bit, and the
>> rest is still 32-bit because being 64-bit doesn't give them any
>> advantage.
>> I know it's out of scope of this discussion, but maybe instead of
>> having a separate full 32-bit and 64-bit versions of Ubuntu we could
>> try a Solaris way and make a one hybrid 64-bit/32-bit os?
>>
> The primary difference is that Solaris was written for the SPARC
> processor, in which the 64-bit line is an evolution of the already
> performant 32-bit line.
>
> In the Intel world, there are some substantial differences between the
> 64-bit and 32-bit architectures.  One of the most notable is that the
> 64-bit architecture has many more registers available than the 32-bit
> one.
>
> This means there's often a performance bonus for even the smallest
> application.
>
> Scott
> --
> Scott James Remnant
> scott at canonical.com
>
> --
> ubuntu-devel mailing list
> ubuntu-devel at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
>



More information about the ubuntu-devel mailing list