|
|
Subscribe / Log in / New account

A Gentoo x32 release candidate

A Gentoo x32 release candidate

Posted Jun 6, 2012 22:27 UTC (Wed) by butlerm (subscriber, #13312)
In reply to: A Gentoo x32 release candidate by gmaxwell
Parent article: A Gentoo x32 release candidate

> which should easily offset the tiny gains from making those programs x32.

Those programs, yes. There is a significant class of other programs that can be sped up by as much as 40% compared to x86-64. The advantage is so great that x32 is reasonably likely to predominate over the latter in the future, outside a relatively narrow set of applications.


to post comments

A Gentoo x32 release candidate

Posted Jun 6, 2012 23:28 UTC (Wed) by andrel (guest, #5166) [Link] (5 responses)

I'll bite -- what are the classes of programs for which x32 gets a 40% speedup over x86-64?

A Gentoo x32 release candidate

Posted Jun 7, 2012 0:34 UTC (Thu) by dlang (guest, #313) [Link] (2 responses)

pointer heavy programs where the smaller pointer size lets more data fit in the cpu cache instead of the app having to wait for the data to be read in from memory.

I don't know any specific programs, but there are people who have reported that using 32 bit apps on 64 bit systems results in better performance than using 64 bit apps.

This seldom applies on the AMD64 architecture as 64 bit mode also gives you twice as many registers to use, but on Sparc and Power* systems this is a very common situation.

x32 is creating an equivalent architecture for the AMD64 systems.

A Gentoo x32 release candidate

Posted Jun 7, 2012 9:06 UTC (Thu) by dvandeun (guest, #24273) [Link] (1 responses)

I develop an interpreter for a toy language in Haskell on an old i3 540 MacBook with 32 bit ghc. When I compile it on a development server at the university, with fast Xeons and lots of cache and RAM, and 64 bit ghc, it is not faster on a quicksort benchmark. (This is of course a double effect: Haskell code uses lots of pointers, and quicksort on linked lists uses lots of pointers. On other benchmarks of my interpreter, the 64 bit server does better than the MacBook, but not spectacularly better.)

A Gentoo x32 release candidate

Posted Jun 10, 2012 3:48 UTC (Sun) by vonbrand (subscriber, #4458) [Link]

... not to mention that quicksort (which is designed for arrays) makes next to no sense on lists...

A Gentoo x32 release candidate

Posted Jun 7, 2012 21:48 UTC (Thu) by paulj (subscriber, #341) [Link]

I've measured the v8 JavaScript JIT to be slightly faster with i686 than AMD64, on javascript benchmarks. I'd expect x32 to be slightly faster again. Anything where memory usage is dominated by pointer rich data-structures (e.g. complex indices over small units of data) will be faster with x32, if it doesn't need the 32bit address space.

Also, as overall system memory usage is generally lower with x32, it allows, e.g., more VMs to be run for the same amount of memory.

A Gentoo x32 release candidate

Posted Jun 8, 2012 20:54 UTC (Fri) by butlerm (subscriber, #13312) [Link]

> I'll bite -- what are the classes of programs for which x32 gets a 40% speedup over x86-64?

The specific example I had in mind is 181.mcf, part of the SPEC 2000 CPU benchmark.

http://www.spec.org/cpu2000/CINT2000/181.mcf/docs/181.mcf...

I imagine that many Perl, Python, and Java programs will show comparable improvements, in addition to compilers, linkers, web browsers, xml processors, interpreters, x32 native kernels, and garbage collected languages in general.

With support for near and far pointers it is conceivable one could dramatically improve kernel performance as well, making an x32/x86-64 hybrid kernel perform nearly as well as an x32 native one, without losing the ability to support 64 bit applications.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds