What Really Slows Windows Down
Page 2: The New Benchmarks
The follow up experiment testing more software with improved benchmarks. If you want to know what applications are slowing down your machine, check out this post.
The New Benchmarks
So alongside the same boot time test with BootVis, I needed to decide on a way of testing how fast the computer was when it was all up and running. I chose the two most effected subsystems of the computer: the processor and the storage.
The CPU gets used up when an application is running, therefore I only expected this to be a limiting factor on those applications which either run all the time in the background or modify system settings. The algorithm I ran was one to find all the prime numbers between 100,000 and 200,000. Not mega-maths, just something to give me a good result in a nice range.
I expected the storage readings to be a lot more varied. These were going to be effected by the applications that monitor what you're doing on the PC, mainly anti-virus and anti-spyware applications. A "good" (I should say: secure) anti-virus application will check every disk operation to make sure that there is no bad activity. The problem comes where doing this costs you CPU cycles and also a massive amount of disk performance. The algorithm for this test made a new file and wrote a line to it. Then it would close it (allowing any application to be notified of a change), open it back up and write an extra line; repeating that last step 10,000 times. I understand that this is not "normal usage" but the results speak for themselves.
I compiled these algorithms in C++ (so no additional framework was needed). You can also download this source code from here. If you find it, or the rest of this article useful, please make a donation for the upkeep and addition to the site. The code is covered by the Creative Commons copyright agreement that covers the rest of this site. If you need other licensing options, contact me.
#include <iostream>
#include <time.h>
#include <fstream>
using namespace std;
bool isPrime(int i) {
for (int j=2; j<i; j++)
if ((i%j)==0) return false;
return true;
}
int prime() {
time_t seconds = time (NULL);
for (int i=100000; i<200000; i++)
isPrime(i);
return time (NULL) - seconds;
}
int fileIO() {
time_t seconds = time (NULL);
ofstream myfile;
for (int i=0; i<200000; i++) {
myfile.open ("testing.txt", ios::app);
myfile << "Writing this to a file.\n";
myfile.close();
}
remove("testing.txt");
return time (NULL) - seconds;
}
int main () {
ofstream myfile;
myfile.open ("results.txt");
myfile << "Prime:" << prime() << "seconds\n";
myfile << "FileIO:" << fileIO() << "seconds\n";
myfile.close();
}
Pages
- Introduction
- The New Benchmarks
- Norton Internet Security 2007
- The Contenders
- Results and Conclusions
Don't just sit there like a lemon! Reply!
Got something to say? Now's the time to share it with the author and everybody else that reads this posting! Lemons need not apply.