If you count IPC there will always be some slight variance. But the main difference is really architecture or Node.
Skylake = architecture
Kaby Lake = Node Improvement ( 14nm + )
Cannonlake = New Node ( 10nm )
Icelake = architecture
So Intel moved from Tick, Tock ( architecture . new node ) to what is now called Process, Architecture, Optimization.
What was 24 months work is now 36 months. We basically get a 50% slower cycle, and those Architecture no longer give us 10-20% IPC improvement, which makes the whole thing feels A LOT slower.
Now this would have all make sense, IF intel did not decide to add a new Coffelake in between Kaby Lake and Cannonlake.
Skylake = architecture
Kaby Lake = Node Improvement ( 14nm + )
Cannonlake = New Node ( 10nm )
Icelake = architecture
So Intel moved from Tick, Tock ( architecture . new node ) to what is now called Process, Architecture, Optimization.
What was 24 months work is now 36 months. We basically get a 50% slower cycle, and those Architecture no longer give us 10-20% IPC improvement, which makes the whole thing feels A LOT slower.
Now this would have all make sense, IF intel did not decide to add a new Coffelake in between Kaby Lake and Cannonlake.