Same difference.
Personally I try to avoid compiling my own kernels as much as possible, but lots of times I end up doing it anyways.
For instance I have a faulty ram module in my desktop, so instead of spending the money to replace a otherwise good memory module I use 'badram' patches to block out the small bad section.. this nessicitates getting a new kernel, plus manually modifying a kernel patch to work with various different kernels.
For performance reasons it's nice sometimes.. not because smaller kernels are faster or anything like that, but some kernel patches are nice for specific purposes..
For isntance I tried out realtime-preemptive kernel patches. These patches effectively make the Linux general-purpose kernel into a swear-to-goodness realtime kernel, just like what is used numerious embedded style operating systems like QNX. This is something relatively new.
It's kinda interesting... Even IRQ requestps from disk or any other hardware is completely preemtable. It gives you the power to sceduale your hardware cards! Everything from disk access to video cards is fully preemptival. Every possible aspect to the kernel. It's quite impressive.
It's very usefull for anybody interested in making music on the computer because it gives you the ability to get garrenteed latencies. This stuff is measured in msecs.. anything under 10msecs is considured undetectable.. but you have to take into account the latency of the entire system, from midi controller to usb to software sequencer to sound card to whatever to your monitors (speakers).
For instance with Windows you have a sound latency of around 100-300msecs by default. This is because the software kmix it uses is very slow. Windows XP is especially poor in this sort of thing.. for a long time people stuck with Win9x becuase of it's low overhead.. But since then a lot of work has been done by third parties and you have these special 'ASIO' drivers that bypass the windows API stuff and works directly with some types of sound cards.
This will get you latencies of around 5-10msecs, unless you have some disk access going on, then it can jump up to 100-250 if your unlucky and cause pops and such. For instance if your trying to record a few different inputs and your virus scanner kicks in then your screwed.
With OS X you have a MUCH better solution.. For a long time it had it's own ASIO drivers created by third parties for OS 9 and such but now you have it's "Core Audio" which is very nice and you can get around 3-10msec latencies by using professional style sound cards.
For a normal Linux 2.6.x kernel it started off promising with 2.6.x series, but there are some issues with disk access and such, but generally you can get under 30msec with any kernel. With 2.6.11 and 2.6.12 they improved the realtime-like aspects of it and it's fairly easy to get under 10msec... However with realtime-preempt patches it's possible to have garrenteed latencies of under 1msec.. which is absolutely unheard of before.
Personally I would get reliable operation of around 2msecs on my system (2400+ amd 32bit, 1gig ram, M-audio audiophile sound card, jackd sound server, etc). But I'd have the jackd (as the realtime proccess) running with latencies of 5msec to make the system run decently...
You see the downside is that it makes your computer slooww... Not super slow, but interactive performance is very degraded with realtime proccesses being run. It would run single things just as fast, but by having a single proccess granted unlimited and immediate access to the CPU is not something that makes a good desktop, the lower the latency the worse the performance gets, but it would still get near rock-solid realtime performance at whatever settings I've made for Jackd.
If your curious check out:
http://people.redhat.com/mingo/realtime-preempt/
For the latest realtime-preempt patches.
These patches are going thru rapid and intense developement. Sometimes they are updated hourly.. This sort of thing is very important for realtime embedded developers and is a possibly big market for Linux... be able to get realtime performance, but still have a full fledged capabilities of a PC OS.
A couple wikis:
http://www.affenbande.org/~tapas/wordpress/?page_id=3
http://tree.celinuxforum.org/CelfPubWiki/RealtimePreemptionAlso you'd need to enable
Linux security modules (Like used with SELinux) and compile the realtime-lsm to grant realtime scedualing rights to specific users.
And this is a special project just for Linux audio.
http://www.agnula.org/
They have Demudi, which is based on Debian GNU/Linux. I beleive they do most of the work of getting all this stuff working so you don't have to mess around with kernels so much.
Linux Audio is very interesting to me. It's unique becuase it has all this interproccess communication technologies like Jackd and Ladspa plug-ins so you can route program outputs into each other to generate some nice sounds. No other OS realy has it so that there is a standard way to do this sort of this thing.. each thing tends to be propriatory to each company that produces applications. With Linux it lacks the big professional-level apps that you can get with Windows.. but by using different programs and piping sound thru each app then it's possible to get professional results.
Of course most of this is getting ported to OS X, so that much of it is aviable is for that OS,too.
http://linux-sound.org/