首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的代码在Linux上比在RTOS上更快?

为什么我的代码在Linux上比在RTOS上更快?
EN

Stack Overflow用户
提问于 2012-12-04 08:14:39
回答 1查看 332关注 0票数 0

我用C++写了一个矩阵类,我在树莓派上做了一个基准测试,当我使用arch Linux时,计算时间是0.4ms,当我使用实时操作系统ChibiOS时,代码的运行时间是2.5ms。两种情况的CPU频率相同(700 The )。是不是一个系统中的内存操作(calloc,memcpy)比较慢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 08:29:54

既然你使用的是doubles,那就是hard float和soft float。

请注意,您不能尝试在不支持硬浮点的操作系统上运行硬浮点二进制文件。如果你这样做了,它看起来会一直工作,直到两个使用硬浮点的进程之间有一个上下文切换。因为操作系统不会在上下文切换中保存浮点状态,所以它们将会在彼此的浮点上下文上执行,并且结果将是不可预测的。

我相信链接器会捕捉到这一点,所以除非你自己编写程序集,并且不使用任何库,否则很难意外遇到这个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13694078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档