# Speed Tests

The codecs have all implemented a very simple speed test, to gauge the throughput that can be expected with each codec. For now, this is not a very formal process.

The tests are all run on the same machine, a 2.1 Ghz MacBook computer on OS X. The tests seem to run much faster on Linux.

There are two tests. They are implemented in the form of a speed test environment for the codec of interest. The testing is done by running this codec-specific environment with the test_speed_experiment and test_1_agent from the C/C++ codec.

### Test 1 (Big Observations)

This test is not a typical load test, it is meant to simulate performance in challenge problems, where observations numbers in the hundreds of thousands of components, like a camera image.

**Length 200 Steps**

**Observation Size 50 000 ints and 50 000 doubles, allocated on each step**

**Throughput 24 steps per second (Python) to 38 steps per second (C/C++/Matlab)**

### Test 2 (Typical Observations)

This is a typical load test, with a small number of observations.

**Length 5000 Steps**

**Observation Size 5 ints and 5 doubles, allocated on each step**

**Throughput 556 steps per second (Matlab) to 5000 steps per second (C/C++/Java)**