|
本帖最后由 muniao 于 2019-1-21 11:27 编辑
整个项目:https://github.com/mclos/los/tree/master/example
///以下是los虚拟机代码-并编译成los数组
void bubbleSort(int *arr,uint32_t len) {
int i,j,temp ;
for ( i = 0; i < len - 1; i++) {
for ( j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
int test[224] = {数据省略};
int main(){
bubbleSort(test,224);
return 0;
}
//以下是stm32////
printf("los demo\r\n");
Tick=0;
bubbleSort(test,224);
i=Tick;
printf("time %d(1ms)\r\n",i);
Tick=0;
ret=los_app_first(los); //运行虚拟机-los数组
i=Tick;
printf("los time[%x] %d(1ms)\r\n",ret,i);
输出结果[stm32跑84Mhz]:
los demo
time 4(1ms)
los time[11] 792(1ms)
增加:
大家都吐槽比较慢,还比lua慢。
我优化再测试一下也还是700ms。
这么慢,主要是los是基于字节操作的,它的优点是:占rom小(代码才1300行),编译型(编译出来的大小和原生编译差不多大小,可以不加载到ram上运行,在rom上跑)[上面的例子los加 los的脚本代码共8K],只额外占用100多ram。
这个例子放在lua上跑,它的资源占用可能是los的十倍 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|