Call Today 716.688.4675

Reed Solomon Software Performance

The following table details performance numbers for a number of specific RS (n, k) implementations for two general purpose processing architectures and one digital signal processor. Numbers are provided for both decode in the presence of no error, as well as decode in the presence of maximum channel error. Note that correcting errors requires more processing power than simply validating blocks, and that the required processing power increases linearly with the error rate. Typical applications tend to keep the error rate low such that active correction is not required.

The two digit hexadecimal number in each column specifies the GF(255) primitive polynomial used to generate the underlying Galois field.

The listed performance numbers are:

  • CPB – Cycles Per Block, how many cpu cycles are required to perform this step of the algorithm for each block of data, and
  • MBPS @ 1GHz – maximum throughput in MBits/sec for each 1.0 GHz of processing power (bit rate measured on the data side, not the channel side.)

All measurements are for optimized C code for the particular architecture, compiled with GCC and -O4 optimizations. No hardware acceleration or SIMD instruction optimizations were used.

 

Table 1 – x86

RS (255,191) 0x1D RS (255,223) CCSDS 0x87 RS (255,239) 0xCF RS (255,247) 0x2D RS (255,251) 0x63
CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz
Encode 10854 164.4 10552.5 181.2 6406.88 308.4 5075.25 395.6
Decode
(no errors)
38994 45.8 19597.5 97.6 9045 218.5 4422 454.1
Decode
(max errors)
120667 14.8 52511.25 36.4 20602.5 95.9 10251 195.9
Decode
(max erasures)

 

Table 2 – ARM 920T

RS (255,191) 0x1D RS (255,223) CCSDS 0x87 RS (255,239) 0xCF RS (255,247) 0x2D RS (255,251) 0x63
CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz
Encode 100000 15.28 51250 34.81 41000 46.63 29667 66.61 23000 87.3
Decode
(no errors)
124000 12.32 70500 25.3 35000 54.63 18667 105.86 8750 229.49
Decode
(max errors)
462000 3.31 218500 8.16 96500 19.81 46167 42.8 21667 92.68
Decode
(max erasures)
648000 2.36 302500 5.9 142250 13.44 69334 28.5 33167 60.54

 

Table 3 – TI C5502

RS (255,191) 0x1D RS (255,223) CCSDS 0x87 RS (255,239) 0xCF RS (255,247) 0x2D RS (255,251) 0x63
CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz CPB MBPS @ 1GHz
Encode 190000 8.04 110000 16.22 65000 29.42 35000 56.46 20000 100.4
Decode
(no errors)
195000 7.84 100000 17.84 45000 42.49 25000 79.04 133334 150.6
Decode
(max errors)
525000 2.91 240000 7.43 110000 17.38 55000 35.93 30000 66.93
Decode
(max erasures)
680000 2.25 325000 5.49 155000 12.34 80000 24.7 40000 50.2

 

VOCAL Technologies, Ltd.
520 Lee Entrance, Suite 202
Amherst New York 14228
Phone: +1-716-688-4675
Fax: +1-716-639-0713
Email: sales@vocal.com