LAME is an MP3 encoder licensed under the LGPL. This test measures the time required to encode a WAV file to MP3 format.
The test is single-threaded and all testing was done pinned to core 1.
Metrics (Intel) - phoronix/encode-mp3sh - pid 15699 On_CPU 0.125 On_Core 1.000 IPC 1.904 Retire 0.493 (49.3%) FrontEnd 0.052 (5.2%) Spec 0.103 (10.3%) Backend 0.351 (35.1%) Elapsed 32.67 Procs 3 Maxrss 10K Minflt 784 Majflt 0 Inblock 0 Oublock 8 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (4.5%) Nivcsw 380 Utime 32.639124 Stime 0.024001 Start 236604.99 Finish 236637.66
The test is 100% on a single core. Overall IPC is higher, with a reasonable amount of backend stalls and some bad speculation.
Metrics (AMD) - phoronix/encode-mp3sh - pid 18520 On_CPU 0.062 On_Core 0.999 IPC 1.724 FrontCyc 0.718 (71.8%) BackCyc 0.096 (9.6%) Elapsed 37.51 Procs 3 Maxrss 10K Minflt 786 Majflt 0 Inblock 0 Oublock 8 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (0.4%) Nivcsw 4530 Utime 37.473822 Stime 0.012338 Start 246638.97 Finish 246676.48
IPC on AMD platforms just slightly lower.
Process Tree - phoronix/encode-mp3Process Tree
15699) sh 15700) lame 15701) lame
Overall process tree is simple, one process running for ~30 seconds.
Shows the process being scheduled ~100% of the time.
Fairly consistent IPC all along.
Backend stalls are largest issue preventing higher retirement rate.
Next steps: Understand nature of backend stalls.