Devo costruire un simulatore con C#. Questo simulatore dovrebbe essere in grado di eseguire un secondo thread con velocità CPU configurabile e dimensioni RAM limitate, ad es. 144 MHz e 50 MB.
Naturalmente so che un simulatore non può mai essere preciso come l'hardware reale. Ma cerco di ottenere prestazioni quasi simili.
Al momento sto pensando di creare un thread che interromperò/dormirò di tanto in tanto. A seconda della velocità della CPU desiderata, il simulatore dovrebbe regolare il tempo di sospensione di questo thread e quindi simulare la frequenza della CPU. Per misurare la velocità raggiunta ho pensato di usare PerformanceCounters. Ma con questo approccio ho il problema che non so come limitare la dimensione della RAM che il thread potrebbe usare.
Hai qualche idea su come realizzare un simile simulatore?
Come simulare diversa frequenza CPU e limite di RAM
Grazie in anticipo !!
+1 come mi piacerebbe sapere la risposta. Ma temo di trovarti troppo in profondità –
Cerca gli allocatori di arena per limitare la memoria a un totale specifico. – WhirlWind
si noti che il clock rate non è davvero una buona misura per le prestazioni. Su un core del mio Core2Duo downclocked a 1GHz ottengo prestazioni significativamente migliori rispetto a un pentium a 2,5 GHz 4. Se stai cercando di scoprire come il tuo software dovrebbe funzionare su un dispositivo specifico, dovresti provare a ottenere un emulatore del reale patata fritta. – back2dos