San Diego, CA, January 24, 2008 --(PR.com
)-- Express Logic, Inc., the worldwide leader in royalty-free real-time operating systems (RTOS), today 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 from http://www.embedded.com/code/2007code.htm
“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.
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: http://forum.microchip.com/tm.aspx?m=279201&mpage=1. 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.
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) c/OS-II Message Processing test is not valid – copies 1 32-bit word instead of copying 4 32-bit words.
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.
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 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. All other brands or product names are the property of their respective holders.