Note: This is an obsolete section of the FreeRTOS website. If you want to view these pages but cannot see the menu frame then click here. Otherwise click here to visit the main FreeRTOS website.


Results - 186 Borland C
[Borland + R8822 (186)]

Time measurements were obtained using an oscilloscope attached to a digital output. See the "Tests Performed" section for more details.
Results are with the development tools fully optimized for speed unless otherwise stated.

Test

Result

16bit addition

29.2μs

16bit multiplication

33.4μs

16bit division

39.2μs with optimization, 41.6μs with no optimization.

32bit multiplication

148.8μs

32bit subtraction

53μs with optimization, 77.6μs with no optimization.

Bubble sort

1.3ms with optimization, 2.3ms with no optimization.

Block memory move and compare

1.64ms with optimization, 1.71ms with no optimization.

Conditional branch to procedure

244μs with optimization, 191μs with no optimization.

Scheduler tick function

42.2μs with optimization, 44.8μs with no optimization.

PUSH’ing and POP’ing

249μs

The same inline assembler was used to perform this test with both the Open Watcom and Borland compilers. The very slight discrepancy in the results obtained with the different development tools can be attributed to the setting and clearing of the digital output - which used a C function.

For the conditional branch to procedure test the Open Watcom compiler significantly out performed the Borland compiler. Strangely, the Borland compiler outputs both slower and larger code when optimization is used. This would seem to indicate the optimizer could not cope with or was confused by the source code. I could not isolate one particular optimization option that was causing this peculiarity, and the best performance was obtained with optimization off completely.




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2015 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOS distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd..