We are constantly enhancing and expanding SpeedTrace Pro.
Now SpeedTrace Pro 3.4.17 is available for downloading! ( Both for 32-bit and for 64-bit 32 windows operating system. )
Yesterday we have invited you to test your .NET Profiler & Tracer application.
With this test application (SuspendTester), you can now test the accuracy of your .NET performance tools and also
compare it with other tools available in the market.
It generates extreme multithreading scenarios.
Below, you can find a test done using our all-in-one .NET development solution - SpeedTrace Pro.
Take this experience and see how easy and smooth SpeedTrace Pro handles such extreme load tests.
Fast and easy can SpeedTrace Pro master this test.
How about your .NET Profiler?
Today, we have established a YouTube video channel.
Why not make screen videos of your test with our ThreadSuspendTester application (C# source code) and show us how fast your .NET Profiler can handle extremly multithreadings ?
Provide us your videos or discuss with us!
With our ThreadSuspendTester application (see C# source code and downlaod) you can get an idea of the abilities of your .NET testing tool.
ThreadSuspendTester is a small test program which records the overhead of .NET profilers or .NET tracers, especially at high concurrency.
The test program starts 100 threads, which in turn make allocations and garbage collections.
If you use SpeedTrace Pro as tracing/profiling tool, you will not detect much difference by the presence of the profiler. In contrast to other tools on the market, the overhead is very small.
Get an idea of your Profiler/Tracer. Compare the result with SpeedTrace Pro - You will be amazed.
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Threading;usingSystem.Collections;usingSystem.Diagnostics;namespace ConsoleApplication1
{class Program
{staticbool terminated = false;staticvoid Main(string[] args){for(int i =0; i <15; i++){
Console.Write(string.Format("Test {0}...", i+1));
ExecuteTest();}
Console.WriteLine("DONE - Press ENTER to exit");
Console.ReadLine();}privatestaticvoid ExecuteTest(){
var sw =new Stopwatch();
sw.Start();System.Threading.Thread.CurrentThread.Priority= ThreadPriority.Normal;
GC.Collect();for(int i =0; i <50; i++){
var threads = StartThreads();foreach(Thread t in threads){
t.Abort();
GC.Collect();}
terminated = true;foreach(Thread t in threads){
t.Join();}}
Console.WriteLine("Done..{0} ms", sw.ElapsedMilliseconds);}privatestatic List<Thread> StartThreads(){
var result =new List<Thread>();for(int i =0; i <1; i++){
var thread =new Thread(doNothingTest);
thread.Priority= ThreadPriority.Lowest;
thread.Start();
result.Add(thread);}
var thread2 =new Thread(allocTest);
thread2.Priority= ThreadPriority.Lowest;
thread2.Start();
result.Add(thread2);for(int i =0; i <100; i++){
var thread =new Thread(allocTest);
thread.Priority= ThreadPriority.Lowest;
thread.Start();
result.Add(thread);}return result;}staticvoid allocTest(){int j=0;while(!terminated){
ArrayList list =new ArrayList();for(int i =0; i <1000; i++){
list.Add(new Program());}
list.Clear();if(j %1==0){
GC.Collect();}System.Threading.Thread.Sleep(1);}}staticvoid doNothingTest(){while(!terminated){}}}}
A notable feature of Speed Trace Pro 3.4 is the Silverlight™ support. A new project type was created for Silverlight applications.
Browser auto detection and supports for Internet Explorer, Mozilla Firefox and Google Chrome is implemented.
To know how to use Silverlight projects in SpeedTrace Pro, take a look at the new online help (see screenshot).
Try out this and all the other new features of SpeedTrace Pro 3.4.
Little mistakes make life harder. The same applies to software developement when problems delay the development.
If you can identify the root cause of problems at early stages during the sw life cycle, you will save lots of time and even more money.
SpeedTrace Pro is the ideal tool to easily resolve the real reason why problems occur.
Here is a real life scenario:
One of our clients is working on a 64-bit setup for their software product. When trying to install
the resulting .msi file, they experienced errors which aborted the installation process.
There was no clear indication what went wrong. Initially, they decided to perform a trial and error
approach but this consumed too much time. So they came across an idea to use SpeedTrace Pro to investigate the problem.
After a few clicks, SpeedTrace Pro was displaying the following trace output
It is easy to see, what went wrong. The assembly which was loaded by the 32-bit msiexec-host was trying to load a 64-bit assembly which raised a BadImageFormat-Exception for the assembly SetupHelper.dll.
In the future they will not hesitate to use SpeedTrace Pro to solve their software problems.
SpeedTrace Pro is not just a profiler, it’s amazing what it can do for you.