PortRemoter was designed with performance as a top priority. To analyze the running characteristics of the software, we conducted some benchmark tests. These tests were performed on a single computer, with the following configuration:
For these tests, both the PortRemoter server and test applications ran as 64-bit processes.
Our tests used custom multi-threaded Client and Server applications. The Client wrote a total of 8GB of random data to the Server, in random increments, using 25 connections in parallel. The Server echoed the data back to the Client, which verified the returned data. PortRemoter was placed in between these two processes, and managed the transfers. The tests were repeated three times, and an average and total CPU time was computed for each process. Below are the results in seconds:
The source code for the test applications can be downloaded here: Benchmarks.tar.gz