Ryzen isn't doing well against Coffee Lake. IPC wise, not counting memory/cache sensitive benchmarks, Ryzen is somewhere around Haswell, minus the terrible AVX-256bit performance. Ryzen, however, suffers from serious cache and memory latency problems due the interconnect fabric that glues modules together in their multi-module CPUs. This Infinity fabric technology while enables them to jam as many cores as they like into a CPU, it has its downsides, which AMD downplayed greatly since Ryzen has come out. These latency problems affect more specifically gaming workloads where in games, the 6-core Ryzen generally lags behind Intel's 4C4T CPUs. Take a look at how far behind Ryzen is in memory latency:
https://techreport.com/r.x/2017_11_25_AMD_s_Ryzen_5_2500U_APU_reviewed/memlatency.png
I don't think Infinity Fabric is suited for consumer CPUs. It incurs considerable latency between the 4-core complex and the uncore (memory controller, cache, bus controllers, etc.) parts of the CPU. I don't think AMD needed to use this technology to combat Intel in desktops or servers. They should've manufactured and sold true 4-core CPUs, back in late 2016, where Ryzen could've been released, and then built true 6-core CPUs a year later, like Intel did.