Express Logic's ThreadX/MCU RTOS Ranks First in PIC24 Benchmarks

Express Logic, Inc., the worldwide leader in royalty-free real-time operating systems (RTOS), announced benchmark results for its ThreadX/MCU RTOS, running on Microchip Technology’s [NASDAQ: MCHP] PIC24 16-bit microcontroller. ThreadX/MCU performed up to 50% better than other RTOSes measured by the Thread-Metric benchmark suite. Express Logic’s ThreadX/MCU’s high performance is a result of its advanced, highly-optimized architecture that has been fine-tuned over the course of its use in over 450 million electronic products.

The Thread-Metric benchmark suite is a freely-available set of benchmarks that measures many aspects of RTOS performance, helping developers identify the bottlenecks in the real-time performance of their applications. Criteria such as interrupt response, context-switching, message passing, thread scheduling, memory allocation, and synchronization are particularly important for microcontroller-based designs where efficiency and a small, fast RTOS makes a significant difference. The Thread-Metric benchmark suite source code is available for free download.

“These results are most impressive, and give our PIC24 and dsPIC DSC customers an efficient RTOS to use in their microcontroller-based designs,” noted Terry Schmidt, marketing manager for Microchip’s Advanced Microcontroller Architecture Division. “ThreadX/MCU also simplifies our customers’ migration from 16-bit PIC24/dsPIC DSC designs to 32-bit designs based on our new PIC32 microcontroller family, by providing a consistent API across all of our processor platforms.”

“We are very pleased with the performance of ThreadX/MCU on Microchip’s PIC24 microcontroller,” commented William E. Lamie, president of Express Logic. “This level of performance reflects the high level of optimization and advanced technology embodied in ThreadX/MCU for the PIC24. Developers can take advantage of this performance for PIC24 or dsPIC DSC designs, and know that they’re getting the most from these outstanding processors.”

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.

Benchmark Tests
Several RTOS products were tested by an independent party, using the Thread-Metric benchmark suite, and the results were reported on Microchip’s web site: Express Logic ran its own tests, using the same thread-Metric benchmark suite. Most of the RTOSes were tested in a consistent manner, but one (AVIX) was tested without checking the results of each operation, resulting in slightly less processing. In order to compare performance fairly, two comparisons have been prepared, one for RTOSes that performed status checking and a second for AVIX and ThreadX/MCU, with no status checking.

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.

Shipping and Availability
ThreadX/MCU is available through or from Express Logic at license prices starting at $5,990 with no royalties. Free evaluation copies are available for download as well.

About Express Logic
Headquartered in San Diego, CA, with field offices in Reddich, UK, and Hanover and Munich, Germany, Express Logic offers the most advanced run-time solution for deeply embedded applications, including the popular ThreadX® RTOS, the high-performance NetX(tm) TCP/IP stack, the FileX® embedded MS-DOS compatible file system, and the USBX(tm) Host/Device USB protocol stack. All products from Express Logic include full source-code and have no run-time royalties. For more information about Express Logic solutions, please call 1-888-THREADX, or email inquires to

ThreadX and FileX are registered trademarks, and NetX, CANX, USBX, preemption-threshold, picokernel, UDP fast path technology, are trademarks of Express Logic, Inc. PIC and dsPIC are registered trademarks of Microchip Technology Inc. in the U.S. and other countries.