Is there any open source automation tool for performance testing for desktop applications?
Load Runner and JMeter are supporting web applications only. I searched in several websites but found no performance testing automation tools.
Usually it isn't required to do performance testing of desktop applications as they're being used by 1 user only hence visual experience is quite enough.
However if desktop application relies on backend server, i.e. it does network communication over HTTP protocol using an API or displays data from RDBMS you might want to test what will be the behaviour of the backend server when several hundreds or thousands of desktop application instances concurrently communicate with it.
In fact this scenario isn't different from "usual" web applications testing as you'll need to simulate outgoing requests triggered by multiple desktop application instances and any free and open source tool can be used to cover this scenario.
The long list is available at Open source performance testing tools and the shorter one which highlights the most popular ones is Open Source Load Testing Tools: Which One Should You Use?
Although I haven't tried Desktop application performance testing on my own, but like you, I too had same question (long back) and I ended up with an answer like this.
It depends how your desktop application will generate load? Is there any Network connection involved or any database connectivity involved, if yes then you can put load over the network or database using JMeter/Load runner etc. But if your application is a standalone desktop application then why do you need performance testing of application, one thing you can only do is to limit the Resources of your machine and then test the application and in that case a stopwatch alone is fine to capture timings. Also, the main thing which needs to be verified during performance test of desktop application is Resource Utilization consumed by the desktop application.
Another thing is you can check this link, which states the process of how you can performance test desktop application using Sikuli tool (it is open source but I guess not free).
When testing a desktop application if you stumble upon the idea/request to do performance testing, ask a few questions (to yourself if not others),
If your application makes HTTP requests to server and database located remotely, you can get the HTTP requests from the developers and use Loadrunner or Jmeter to generate load for performance testing.
If your application is really a standalone application and it doesn't make connection requests and/or get data from a remote server, then you need to think of different things that you can do as part of performance testing.
Similarly, you can think of other scenarios to do performance testing of the desktop application. For such kind of testing you can use system monitoring tools, for example, in Windows systems you can use the Performance tab of the Task Manager to keep track of the system's resource occupancy and performance.
You see performance testing is not only about generating a load of x number of requests made by users simultaneously. It has many other sides as well. Put on your thinking hat and think of scenarios for doing performance testing.