Specification of NProfiler

Introduction

    We, as programmers, always worry about the performance of our creations. There's lots of tools to report it. Although these tools are fine works; we can't put our shoes on them when something missing or too complex. Actually, we just want to know where is the slowest part and the rough image of all pieces. There's the ideal of the whole story: provide a simple framework to allow the programmer test all kinds of code they wanted.

Scope

    NProfiler is a simple framework to analyze the performance of class methods which programmers had predefined. It's not indicated to be automatically detect the all methods in a class, but need to be specified explicitly by programmers. The reason why is that the profiler can't initialize methods without the knowledge how to pass the parameters and get the return value. On the other hand, they can define a unit of the compound methods to be tested depend on the real situation they need to deal with under this framework.

    In the beginning, it uses a very simple method to gather the performance: the Timer.Ticks. They can' reveal the exact time consuming, but might be good enough to gather the information of performance. Programmers can use these information as comparison among all their predefined sets. They get an overview concept of their work and detect where is the code that slow down the application. We need the brilliant idea to improve the counting part, let me know if you got one.

The Design of NProfiler

    The UML diagram manifest the whole design. All the code to be tested must implements the ProfilerCase; that is, derived from ProfilerCase and write the code in Setup and Run. Here is the scratch and will be changed in the future.

¡@