chrtylee said:
i have a dell optiplex 330 which has an intel pentium e2160 processor, asus nvidia en210 video card, and 4gb ram. on the platform selection it said if your unsure choose i386 but i do have a 64 bit processor.
On your system the decision isn't so clear. Most of the 64-bit-capable Dell desktop systems support more than 4GB of memory. On those systems, I'd recommend FreeBSD-amd64 even if there is only 4GB or less memory installed now. It isn't possible to do an in-place conversion from i386 to amd64, so if there is any potential for more memory being added later on, amd64 should be used.
However, your system is limited to 4GB of memory, so you won't see the one of the major benefits of the amd64 architecture. Depending on the hardware, an amd64 kernel might "see" a little more memory than an i386 kernel on the same hardware. However a given program (or kernel) compiled to i386 code is generally somewhat more compact than when compiled to amd64 code. This isn't likely to be a big enough difference (worst case, around 10% size difference if I remember correctly) to tip the scales one way or the other.
That leaves two remaining considerations:
1) Will you be running any ports or 3rd-party software that isn't compatible with amd64? There aren't many packages that won't run on amd64 (as long as the 32-bit libraries are present), but a number of them won't compile from source on amd64. As an example,
emulators/wine.
2) If you are developing software which will be deployed on other FreeBSD systems, you don't want to use an incompatible architecture. For example, if you install amd64 and create a 64-bit binary (the normal compilation mode), it won't run on i386. Conversely, you wouldn't want to limit yourself to i386 if your target system is amd64, particularly if your application uses a lot of memory.
Hopefully I've given you some things to help you decide, not simply confused things.