This class performs a series of tests measuring the performance of
RateLimitInputStream. Since these tests do not fulfill some crucial
criteria, they are not classified as regular (unit) tests in the classical
meaning, and are not executed automatically upon builds.
The class, in contrast to
RealTimeTickSource, does not really perform
performance tests in a way that good/bad status is reported. It merely runs
several throughput measurement tests using
RateLimitInputStream and
reports the errors.
Very low byte rates are simulated with a higher time (5 s, 2 s, 1 s and so
on) and thus need a longer time to run. Lower byte rates allow shorter
execution times.
The upper bound is the executing hardware, as high byte rates require high
interval rates and buffer sizes. Rates above 1 GB/s usually have a high error
rate.
You can use this class to find out the upper bound of throughput (minus the
overhead introduced by
RateLimitInputStream) of your system.
- They don't have a binary yes/no result since they measure system
performance
- They use a real-time actions (sleeping), in large numbers -- and thus
take a significant amount of time
- They rely on real time clocks
- They can be flakey on heavy load conditions