Più che difficile, la questione è che non c'è beneficio spesso e volentieri.
Microsoft implementò un sistema di core parking su Windows 7, proprio perché ci si era resi conto che anziché avere un core al 40% e uno al 20% che lavorano in parallelo, è meglio averne uno al 60% e sfruttare magari le funzionalità di programmazione concorrente, per ottimizzare lo stesso spazio di allocazione.
Purtroppo molto del carico reale è on demand, quindi avere un core da accendere e far funzionare alla bisogna è peggio in termini di performance, rispetto ad usare quanto già disponibile.
A mio avviso il multi-core ha veramente senso in software a sistemi di calcolo continuo, come BOINC, dove quindi puoi spalmare la frequenza della CPU su tutti i core tenendoli accesi ed in funzione nello stesso momento.
Poi vabbè il multi-core e il multi-thread sono in realtà ca**ate che si sono inventati perché, come dicevi tu, la corsa al GHz era ormai arrivata a soglie ridicole (5GHz single core scaldano veramente tanto).
Infatti non solo le x86, ma anche altre architetture come SPARC o POWER hanno aumentato il parallelismo riducendo la frequenza per core.
E infatti con essi sono arrivate le mer*ate come Spectre Meltdown e tutte le vulnerabilità sull'hyperthreading.
E rimango convinto che gli sviluppatori di OpenBSD con l'SMT disattivato di default abbiano fatto la scelta migliore, sebbene ne paghino in performance.
Eh, ma allora la discussione passa ad un altro livello ...
Concordo, tenendo conto che qualsiasi cosa uscita dall'azienda agricola di Zio Bill è in genere una puttanata che serve a loro solo per mantenere la supremazia con implementazioni al limite del criminoso, non tanto in termini tecnologici, ma dirigendo il mercato su robe che possono gestire alla nazi-maniera. Ad esempio sembra che adesso vogliono mollare tutta la base di software in C++ e dirigersi verso Rust, uno dei soliti linguaggi uscito da poco, illeggibile per quanto mi riguarda. Altro polverone del quale non ci sarebbe bisogno.
Ovviamente, i soliti adepti urleranno al gombloddoh, perché secondo loro Zio Bill è un'altro angelo che ci ha portato tanto benessere informatico, senza sapere tutte le magagne tecniche che conoscono quelli che lavorano sul pezzo.
Detto questo, la punta di diamante dell'aumento di performances è per il momento in fase di stallo per quanto riguarda le capacità delle CPU. C'è stata parecchia evoluzione sul discorso delle caches, che sono diventate un componente essenziale dei cores, che però comportano CPU sempre più complicate, con istruzioni ritirate, branch prediction, esecuzioni speculative, etc etc. Io purtroppo ci ho a che fare e non sono per niente semplici da manipolare a basso livello.
Quello che sta andando molto "di moda" è il settore sicurezza, con queste CPU che hanno vari meccanismi per impedire l'esecuzione di codice pirata, con ennemila strati di esecuzione, hypervisor, etc etc. Ma a volte certe robe mi sembrano un gran troiaio, tenendo conto che sono comunque aspetti importanti.
Il processore più promettente è al momento il RISC-V, che se non altro è royalty-free e promette di essere altamente espandibile.
Comunque, per ora, aumenti stratosferici di performances non credo siano all'orizzonte, incrementeranno il numero dei core e le dimensioni della cache, altri fattori non mi vengono in mente.