Imagine des machines à coudre.
Chaque machine coud 2.5m à la minute.
Si tu donnes un ruban de 10m, ça prendra 4 minutes et une seule machine s'en chargera.
Cela correspond à un programme optimisé monocore.
Si tu donnes deux rubans de 5m, ça prendra 2 minutes, car deux machines s'en chargeront.
Cela correspond à un programme optimisé double coeur.
La même distance a été cousue mais bien plus rapidement.
Et l'on ne peut pas dire que l'on a une machine qui coud à 10m/min, comme on ne peut pas dire qu'un quad à 2.5ghz = 10Ghz.
C'est moins une question de saturation que de programmes optimisés pour être effectués par plusieurs coeurs en même temps. 