Pai inainte sa apara g++ 4 scanf era mai rapid pentru ca tu ii spuneai formatul (adica ce sa citeasca)
scanf("%d", &n); ...ii spuneai ca citesti un int
pe cand la streamuri:
cin>>n; ... trebuia sa verifice el ce tip e + ca se folosesc clase (OOP) .
Acum.... nu stiu exact ce optimizari au facut de sunt mai rapide streamurile...
Defapt streamurile sunt mai rapide doar la citire... ca la scriere e mai rapid cu printf

.
Iar cel mai rapid e cu parsare ... indiferent de compilator.