1 |
On Mon, Jul 30, 2012 at 10:53 PM, Nikos Chantziaras <realnc@×××××.com> wrote: |
2 |
> On 30/07/12 19:40, Alecks Gates wrote: |
3 |
>> |
4 |
>> What are the benefits and drawbacks of using the x32 ABI |
5 |
> |
6 |
> |
7 |
> Benefits: An x32 application is limited to a 32-bit address range but runs |
8 |
> in 64-bit CPU mode. The intent is to not waste any memory, but be as fast |
9 |
> as any other 64-bit application. |
10 |
> |
11 |
> Drawbacks: Don't expect to get a fully working system. Many applications |
12 |
> will either not build, or break at runtime when compiled in this mode. |
13 |
> Also, some application will run slower because they come with hand coded |
14 |
> assembly routines for x86 and x86-64, but not for x32. That means that |
15 |
> generic C code paths will be used for x32, and they're slower compared to |
16 |
> the hand optimized assembly routines. |
17 |
> |
18 |
> Also note that x32 is not compatible with 32-bit applications. If you build |
19 |
> an x86-64/x32 system, you lose the x86/x86-64 multilib capability unless |
20 |
> there's a way to have a three-way multilib Gentoo with x86/x32/x86-64. |
21 |
|
22 |
More specifically, x32 is not compatible with x86 (what we used to |
23 |
call "32-bit applications on x86"...but since that's ambiguous, it's |
24 |
better just to say "x86"). In practice, this means you won't be able |
25 |
to link x32 ELF binaries against x86 ELF binaries. |
26 |
|
27 |
You'll almost certainly be able to run x86/x32 multilib, since that's |
28 |
at least part of the argument on behalf of it. But I have no idea when |
29 |
that'll get set up. When it does, you'll probably be able to run |
30 |
x86-64/x32/x86 multilib...but then you're compiling apps three ways, |
31 |
and _that_ seems like it'll be excessive. |
32 |
|
33 |
On a separate note, I generally recommend amd64 to people who have |
34 |
processors which can handle it, even if they have as little as 1GB of |
35 |
RAM. My reasoning is that having the large address space should reduce |
36 |
memory fragmentation, which should in turn reduce apparent memory |
37 |
bloat in long-lived applications. |
38 |
|
39 |
|
40 |
|
41 |
|
42 |
-- |
43 |
:wq |