首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QSignalMapper与抢占senderId性能

QSignalMapper与抢占senderId性能
EN

Stack Overflow用户
提问于 2013-09-09 08:38:21
回答 1查看 113关注 0票数 0

为了在qt中的一个时隙中映射多个自定义信号,我基本上有两个选项: QSignalMapper或来自senderID指针的强制转换(参见:http://doc.qt.digia.com/qq/qq10-signalmapper.html)。

我的问题是:哪个代码更有效?我想在我的程序的时间部分使用它。

我应该考虑使用独立的信号/插槽来优化代码吗?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 13:21:23

关于“时间关键”意味着什么以及应用程序实际花费CPU时间的位置,您很可能错了。你不能在没有实际测量的情况下提出任何论点。在这一点上,我相信你是在优化和浪费你的时间。不要做任何与优化相关的事情,除非你能测量起点并看到实数的任何改进。

如果您的信号插槽连接是按每秒1000次的顺序调用的,那么您几乎可以做任何您想做的事情--开销并不重要。只有当您处于100 k调用/秒范围内时,它才会开始起作用,然后您可能一开始就错误地设计了一些东西。

没有任何参数的信号槽连接总是比发送某些参数的连接要快.您可以使用动态属性系统向发送方对象添加属性,并使用sender()->property("...")检查该属性。动态属性查找比使用qobject_cast<...>(sender())和调用自定义QObjectQWidget-derived类上的成员函数花费更多的时间。但这并不重要,因为除非你能测量出差异,否则你不需要担心它。过早的优化确实是万恶之源。

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

https://stackoverflow.com/questions/18694429

复制
相关文章

相似问题

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