RTOS PIC24 Thread-Metric Benchmarks

Posted by Ken Cheung in RTOS on Thursday, January 31, 2008

According to Express Logic, Inc., their ThreadX/MCU RTOS performed up to 50% better than other RTOSes measured by the Thread-Metric benchmark suite. In the tests, ThreadX/MCU RTOS ran on Microchip Technology's [NASDAQ: MCHP] PIC24 16-bit microcontroller. The Thread-Metric benchmark suite is a freely-available set of benchmarks that measures many aspects of RTOS performance. Express Logic's ThreadX/MCU RTOS is a small (2KB – 10KB), fast, royalty-free, affordable RTOS based on the highly popular ThreadX® RTOS, and is optimized for 16-bit microcontrollers such as Microchip's PIC24 16-bit family and dsPIC® Digital Signal Controllers (DSCs). All tests were run on a Microchip 40 MIPS PIC24HJ256GP610 PIC24 16-bit microcontroller.

Comparison 1
The first comparison shows RTOS performance for ThreadX/MCU, uc/OS-II, TNKernel, AVA and FreeRTOS, with status checking included for each RTOS. In each test, Express Logic's ThreadX/MCU outperformed all of the other RTOSes. In all tests, a higher score is better.

  ThreadX/MCU uc/OS-II TNKernet AVA FreeRTOS
Cooperative scheduling 11,847,800 (1) (1) (1) (1)
Preemptive scheduling 4,870,885 3,909,085 3,359,814 1,724,948 3,717,913
Interrupt processing 6,918,050 5,259,998 5,497,238 5,207,762 1,881,892
Interrupt preemption processing 3,052,151 (1) 2,693,630 1,260,190 2,400,967
Message processing 6,928,383 (3) 4,146,914 2,761,154 484,691
Synchronization processing 15,337,354 10,293,318 7,353,579 7,514,799 1,989,999
Memory processing 12,863,624 6,814,817 5,933,761 10,235,182 (2)

(1) Cooperative scheduling not supported
(2) Not reported
(3) mc/OS-II Message Processing test is not valid – copies 1 32-bit word instead of copying 4 32-bit words.

Comparison 2
The second comparison shows the results for ThreadX/MCU and the AVIX RTOS, which is the one RTOS for which status checking was not performed. For this comparison, ThreadX/MCU was also run without status checking to enable a consistent comparison. ThreadX/MCU outperformed AVIX substantially in cooperative scheduling (33.42%), message processing (56.28%) and memory processing (34.67%) while providing modest advantages in preemptive scheduling (5.39%), interrupt processing (4.13%), and interrupt preemption processing (2.67%). Only in synchronization processing did AVIX outperform Thread/MCU by 6.46%, and it is noted that AVIX uses 16-bit semaphores while ThreadX/MCU uses 32-bit semaphores. Again, in all tests, a higher score is better.

  ThreadX/MCU AVIX (3) ThreadX/MCU
Better By
Cooperative scheduling 11,848,815 8,880,289 33.42 %
Preemptive scheduling 5,032,710 4,775,165 5.39 %
Interrupt processing 7,342,967 7,051,598 (2) 4.13 %
Interrupt preemption processing 3,132,150 3,050,405 (2) 2.67 %
Message processing 7,354,317 4,705,841 56.28 %
Synchronization processing 17,592,956 18,729,971 (1) -6.46 %
Memory processing 14,413,455 10,702,506 34.67 %

(1) AVIX semaphores are 16-bits, ThreadX semaphores are 32-bits.
(2) AVIX uses the interrupted thread's stack in ISR processing; ThreadX/MCU switches to a dedicated system stack.
(3) The AVIX thread-metric porting layer does not check return status. For this comparison, the porting layer for ThreadX/MCU was modified not to check status to enable a fair comparison with AVIX.

ThreadX/MCU license is available for prices starting at $5,990 with no royalties. Free evaluation copies are available for download as well.

More info: Express Logic | Thread-Metric

If you found this page useful, bookmark and share it on:

Possibly of Interest

 
Embedded Star Newsletter
Don't have time to visit Embedded Blog everyday? Then sign up for our free newsletter. We'll send you an email when we have something to share with you. Your email address will be kept confidential and we will not share, sell, or rent it to anyone. You can unsubscribe at any time by clicking a link in the email.

Enter your email address to sign up for our free newsletter:   

If you are familiar with RSS feeds, you can also sign up for our free blog feed. Our RSS feed is updated in real-time while our newsletter is updated daily.