Bonjour. J'ai voulu faire une sorte de stress test très basique pour mon disque dur, en lui écrivant des données aléatoires en continu, et ça a donné ceci :
Le problème, c'est que c'est mon processeur qui se fatigue avant mon HDD (utilisation proc 25%, et c'est un quad core, utilisation HDD 10% pour un 7200 rpm).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 int main(void) { srand((unsigned int)time(NULL)); unsigned char n = RAND(1,255); // Création d'un nombre aléatoire FILE *fs = NULL; fs = fopen("test1.bin", "wb"); // Ouverture du fichier time_t initial = clock(); time_t actual = 0; while (actual / CLOCKS_PER_SEC < 120) { fwrite(&n, 1, 1, fs); // Ecriture __asm ror n, 3; // Rotation actual = clock() - initial; } // Tant que 120 secondes ne sont pas écoulées, continuer fclose(fs); system("pause"); return 0; }
Et ce n'est pas dû à la rotation de l'octet, où au fait de gérer le timer, mais de fwrite qui est trop lent.
Donc ce que j'aimerais savoir, c'est comment faire pour que l'écriture soit bien plus rapide ? Hormis utiliser les threads parce que il faudra que je lance ce programme sur un ssd donc bon...
Merci d'avance !
Partager