Subj : A multithreading benchmark To : comp.programming.threads From : chris noonan Date : Mon Jun 06 2005 11:54 am I am designing a benchmark program for investigating multithreaded performance. I will use the program for comparing various heap managers, but it is bound to be useful for other purposes. These are the design criteria I have so far: 1. The benchmark will be semi-synthetic, in that it will be constructed for the stated purpose, but will perform some useful task, and could be mistaken for a 'real' application. 2. The program will take the server role of a client-server system, and will run on a thread-per-connection basis. 3. There will be a fixed amount of work, the number of threads will be parameterisable for each run of the benchmark, and the workload will be divided between however many threads there are. 4. The program will be coded in C++ in natural style. 5. The dynamic memory profile of the running benchmark will conform as far as possible to empirical measurements of average allocation size, duration etc. to be found in the literature. Anything else worth considering? Initially the program will be targeted to Microsoft Windows platforms, as there is a dearth of suitable benchmarks. Is there some way of simulating a number of clients without the complication of having multiple machines and real network connections? TIA for your comments. Chris .