打印

RT-Thread和一些其他RTOS对比的技术指标

RT-Thread和一些其他RTOS对比的技术指标

一个网友测试给出的数据,用的是GCC 4.1.1,采用ThreadX的测试套件(ThreadX RTOS Metric),即相同的硬件平台,相同的编译器,相同的编译优化选项,相同的测试代码。

总共5项测试,对比了ecos,ucos,RT-Thread(下面简称RTT)
基本任务测试 RTT/ecos 1.40倍,RTT/ucos 1.00倍
协作调度测试 RTT/ecos 1.20倍,RTT/ucos N/A (ucos不支持协作式调度)
抢占调度测试 RTT/ecos 1.33倍,RTT/ucos 1.38倍
同步处理测试 RTT/ecos 1.86倍,RTT/ucos 1.44倍
中断处理测试 暂时无数据
中断抢占测试 暂时无数据
内存分配测试 RTT/ecos 2.50倍,RTT/ucos 1.28倍

体积上5项测试上,RTT/ecos 0.65倍,RTT/ucos 0.30倍
即,RTT只有ecos 0.65的体积大小,ucos 0.30的体积大小

这套benchmark基本的设计原则是在相同的时间内做一个/一些计数值递增。例如做切换测试:运行多个线程,让它们做切换,然后在各自的上下文环境中做计数,一定时间后得出计数值的多少。这样比较各个系统的计数值情况得出结果。大体思路是这样,具体代码没仔细看。

基本任务测试 RTT/ecos 1.40倍,RTT/ucos 1.00倍
这个意思就是,RTT的计数值是ecos的计数值1.40倍,ucos的1.00倍

例如相同时间内,RTT的是1400次,ecos是1000次,ucos是1401次。

注:ThreadX RTOS Metric说是测试RTOS可以做一些对比数据,但这显然不能做为实时性指标,更不可能做为稳定性指标。
自由与理想!

TOP