0

We need a custom performance index generated by a diagnostic dialog of our application written in C#. For:

  • CPU
  • Disk
  • Memory

This will give an approximation of what the current machine will be able to handle. The value doesn't have to be accurate, it's just an indication.

One pragmatic method would be to do common operation the application do, with temporary files, and everything, but we want the routine to be used in different applications.

Could you please propose me functions or references written in C# ?

UPDATE: application run on windows servers and also still a lot of XP, so Vista & 7 Performance Index is not suitable.

  • 2
    The "Windows Experience Index" might give you a pre-built number for these. – David Jan 07 '11 at 17:23
  • @David: how to use it in C# ? –  Jan 07 '11 at 17:27
  • @Pierre 303: David had a good idea --> http://stackoverflow.com/questions/479435/retrieve-windows-experience-rating – digEmAll Jan 07 '11 at 17:31
  • Very nice! but my application run mostly on Windows Servers (2003 & 2008) and also still a lot of XP –  Jan 07 '11 at 17:35
  • 1
    You *do* realize this is a little harder than it seems, right? You'd have to (1) account for GC times, (2) account for disk fragmentation, (3) account for current CPU load, (4) account for memory usage and any page files present, among other, more subtle things. – user541686 Jan 07 '11 at 17:41
  • @Lambert: Since I don't want to reinvent the wheel, I ask here before. Is there a problem with that? –  Jan 07 '11 at 17:50
  • @Pierre 303: I wasn't saying there's a problem; it's a good thing! That's why I just mentioned that you keep those issues in mind. :) – user541686 Jan 07 '11 at 17:53
  • @Lambert: I'll post solutions I get from other forums as an answer. –  Jan 07 '11 at 18:26

1 Answers1

1

Not a full answer, but for CPU performance you could try the C# port of the SciMark2 benchmark for scientific and numerical computing which gives approximate MFlop performance. There is a version included here as part of the Libjit library but there are other ports around. I have read that there is a more modern parallel version around, but have been unable to locate it so far (if anyone knows of one please let us know).

Keith
  • 375
  • 2
  • 7