Fw: To amd64 or not to amd64?

Mike Meyer mwm at mired.org
Wed Oct 11 10:12:42 PDT 2006


In <200610111149.k9BBnaxm001133 at peedub.jennejohn.org>, Gary Jennejohn <garyj at jennejohn.org> typed:
> "alecn2002" writes:
> > The question is: will I have any benefits if I'll move to amd64 system, or it
> > 's safer and better to stay with i386 arch?
> [snip]
> > Problem-free operation and stability have precedense for me over system speed
> The only real advantage of 64-bit over 32-bit is that you can put more than
> 4 GB of RAM into the box.

Personally, I think the 30% performance improvment I see using amd64
is a real benefit. The amd64 architecture has twice as many registers
as i386, and they're twice as wide. If you can run code built for
amd64, you win. If you're running mostly i386 apps (as with certain
proprietary systems), you don't.

It took a little bit of doing, but I got everything I used on my
desktop on i386 working on amd64. The biggest headach was openoffice,
but that was because one of the repositories had a broken tarball;
once I got the right tarball, it built just fine. Two ports required
tweaking to get the code to build on amd64. I wound up installing
another port from the package. The other 400+ ports I use all worked
with no problems. That 1% problem rate sounds about right for i386
ports as well.

32 bit emulation works, and as others have said, is how you run Linux
binaries. The linuxolator works fine. In fact, that may be the best
way to use 32 bit software. Whlle you can run 32 bit freebsd binaries,
the ports system doesn't work for them, because there's no way to
specify that you need the 32-bit version of a library, not the 64-bit
version (if there is, please point me at the docs), so you don't get
the library dependencies installed properly.

The other gotcha is that, while gcc knows how to build 32 bit
binaries, the system compiler isn't configured to do the right thing
by default. It's probably possible to make this work right, or maybe a
gcc installed from ports will do the right thing. I haven't checked.

Oh yeah - if you're running the proprietary NVidia driver, it doesn't
exist for amd64 on FreeBSD. The open source driver works fine.

Personally, I think converting is worth it, and would recommend it if
you can. However, there are things that don't work. The only real way
to tell if everything you need works is to try and see. If you've got
critical things that you *have* to have, you might ask here. But the
answer may not be reliable, because some options that you require may
not work, like the OpenOffice/Mozilla integration.

Personally, I bought a second disk identical to my system disk, copied
the partition table and set up a dual boot system with /home from the
original system disk on both systems. After I was happy, I moved
everything to one disk and set them up as a RAID 1.

While you're doing this, check your motherboard specs, and see if it
supports dual channel memory access. If it will, buy another stick of
RAM so that you'll get dual channel mode. That's another relatively
cheap way to improve system performmance. Since amd64 uses a bit more
memory, you may want to do this anyway.

	<mike
-- 
Mike Meyer <mwm at mired.org>		http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.


More information about the freebsd-amd64 mailing list