Well, notice that you have two different numbers there.
i686 is the newer, more advanced architecture, and points to your processor. i386 is the most basic compatible architecture in the x86 family, and I BELIEVE it's referring to your kernel.
Slackware 10.2 was compiled for i386, so it would still be compatible with older computers with the 386 instruction set. The 486, 586, and 686 architectures all use an expanded instruction set, which allows for more flexibility in the machine code that runs on those architectures, but since Pat V. wants Slackware to run on the widest range of architectures possible, he compiled just about everything for 386.
Theoretically, you could recompile your kernel especially for 686 compatibility for some performance gains. Personally, I compiled a custom version of 2.6.19, but it appears that, even though I specified the AMD K7 architecture, gcc is defaulting to compiling for i386. Re my uname -a:
Code:
Linux 2.6.19 #2 Sat Dec 2 02:24:07 CST 2006 i686 athlon-4 i386 GNU/Linux
Now, I'm wandering into territory I'm not sure of, but I understand the basic theory. AMD decided to release another 32-bit processor to branch off from the Athlon. At first, they based the Sempron off the Athlon itself, and made them in the Socket A form factor. They also made some based on the Athlon 64 architecture, in the Socket 754 configuration. This is the one I'm concerned with at the moment.
My mobile Sempron processor is basically an Athlon 64 without the 64-bit support. At its most basic, it will happily run programs optimized for a 386 processor. It will also run, with more performance as instructions are increased, software compiled for the 486, 586, 686, 5x86, K5, K6, K6-2, K6-III, Duron, and Athlon processors.
Now, here's the thing. Of all those available instruction sets, the Athlon fits my processor best. However, my processor is not just an Athlon... so, if I were to re-write an assembly code program, I'd likely have a few extra instructions that I could use to gain performance. Does that mean I should spend the effort to do so? Probably not.
Okay, that technical stuff is now out of the way. Here's the deal: If you can guarantee that you are only going to use your compiled kernel on your computer, the recompile.
But, here's my caveat: To REALLY make things snappier, you're going to need to do some work. You'll need to go through your kernel configuration, and trim what you don't need. If you're using a Pentium 4, it's a pretty good bet you won't be using anything ISA-related, so that can be dropped. Stuff like that.
As far as making the kernel actually COMPILE for your processor? I'm still trying to figure out how to do that... is it as simple as editing the Makefile? Simply selecting my processor in the kernel config didn't appear to do it for me.