And my three cents...
1/ The TCP and UDP throughput experiments in the referenced article are a poor proxy for what we really want to know: are the data samples delivered in sufficient time for the DAC to process without introducing additional audible artifacts? I say additional because a DAC always introduces artifacts. That's why some of us dote on the curves posted, for example, in audiosciencereview.com.
Delivering individual samples in sufficient time is different from sample throughput. Think of cars on a highway: asking how many cars pass a checkpoint in an hour is different from asking how uniformly spaced the cars are when they pass.
The working definition of "real time" in the software industry. is: can the required function be completed within the required time interval? The MPD docs contain an interesting comment regarding this point:
Quote:Note There is a rumor that real-time scheduling improves audio quality. That is not true. All it does is reduce the probability of skipping (audio buffer xruns) when the computer is under heavy load.
2/ The referenced article explored the effect of a set of kernel-build parameters, not the difference between a 32-bit kernel and a 64-bit kernel.
Where's the data comparing the two kernels as well as the three parameters? Where's the data comparing the 5.4.x kernel against the 4.19.x kernel? (That was my life as an experimental physicist/engineer. There's always another experiment to be done.)
For that matter, where's the counterpart data for the PREEMPT_RT parameter setting? The article promises it in the comments but the answer is MIA.
As well, If setting CONFIG_PREEMPT is an unalloyed good, then one has to wonder why the "official" 32-bit Raspbian kernel isn't built with it set? I suspect the maintainers themselves are in disagreement over the choices.
3/ There's a reason the 64-bit kernel is still not part of the Raspberry Pi OS release and hence is still a testing
option in moOde. Look at the relevant github repos and forums. Subtle gotchas are still being worked out in the kernel modules, the drivers, the interface between kernel space and userland.
Tim's code is hostage to the entire userland and kernel space stack. I suspect it will be some time yet before the dust has settled on the kernel space code. Then's there's the coming conversion of the userland code in Raspberry Pi OS to 64-bit. That'll be exciting!
Bottom line on the 64-bit kernel: Try it. It's free. You might like it. You might not. You might even not notice you switched. Just don't hit Tim over the head with it!
Regards,
Kent