Benchmarks, Performance and Speed Tests
Software developers and software architects need information about the throughput, speed and performance of basic structures, algorithms and libraries to design their software. These benchmarks where created during research activities for the
project. Additional benchmarks and performance tests will be published as they will be created for our projects. These Tests should run on Novell Mono too. The major focus of these tests is throughput (how many
operations can be done in a second).
Benchmarks and Performance Tests in Visual Studio
Never do any performance test with attached debugger! Even when you have a
, an attached debugger has an enourmous performance impact (sometimes 5-10 times slower) on your application. Don't start your project by pressing F5 (debug) in Visual Studio. Use Ctrl-F5 or "run without debugging" from the
menu instead. No debugger will be attached and you get accurate benchmarks.
If you forget this, you get fooled in several ways. Especially when yo benchmark own libraries against the framework ones. The whole framework is compiled into native images via NGen.exe during installation. An attached debugger has nearly no performance impact
on native images and native code. Thats why your own library get an huge impact due to the attached debugger, while the the framework lib won't.
System.Collections.Generic.Dictionary with several keys like int, Guid,...
WCF throughput buffered, streamed, dual channel with callback and so on
Synchronization of theads with lock, ReaderWriterLockSlim, AutoResetEvent, ManualResetEvent, Semaphore and Mutex.