社区
C++ 语言
帖子详情
函数调用的时间损耗
那一片海
2011-11-07 09:37:35
根据某些参数的值按照某个计算规则计算出结果,现在有一堆需要计算的数据(10W行以上)。现有2中方式:
1.一次性把所有的数据传入计算的函数,在函数内部循环计算完毕返回计算的数据;(函数调用一次)
2.在计算函数外部进行循环,每循环一次就调用计算函数返回一个计算的值。(函数调用10W次以上)
这2中方式哪个的计算效率比较高,函数的不停调用会有很大的时间损耗吗?
...全文
708
8
打赏
收藏
函数调用的时间损耗
根据某些参数的值按照某个计算规则计算出结果,现在有一堆需要计算的数据(10W行以上)。现有2中方式: 1.一次性把所有的数据传入计算的函数,在函数内部循环计算完毕返回计算的数据;(函数调用一次) 2.在计算函数外部进行循环,每循环一次就调用计算函数返回一个计算的值。(函数调用10W次以上) 这2中方式哪个的计算效率比较高,函数的不停调用会有很大的时间损耗吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lhy
2011-11-07
打赏
举报
回复
[Quote=引用 7 楼 dm569263708 的回复:]
引用 3 楼 keiy 的回复:
引用 1 楼 akirya 的回复:
1效率高一些
++
因为调用函数时,函数头上会有一些对栈的操作,会耗费一些时间,尾部的ret指令也耗时间.
这也是C/C++中引用inline的原因之一
这些时间的损耗是必须考虑的还是可以忽略不计的
[/Quote]
如果一次运行十万次,我觉得可以忽略,现有电脑一般函数调用时间应该小于一微秒,十万次也就0.1秒。
那一片海
2011-11-07
打赏
举报
回复
[Quote=引用 3 楼 keiy 的回复:]
引用 1 楼 akirya 的回复:
1效率高一些
++
因为调用函数时,函数头上会有一些对栈的操作,会耗费一些时间,尾部的ret指令也耗时间.
这也是C/C++中引用inline的原因之一
[/Quote]
这些时间的损耗是必须考虑的还是可以忽略不计的
那一片海
2011-11-07
打赏
举报
回复
[Quote=引用 4 楼 pegaso 的回复:]
有三个时间需要考虑:
参数传入的方式和耗时,
计算过程的耗时,
函数调用的开销。
在LZ所述场景中,貌似只是简单的查找、变换操作吧?这样函数开销也许可以与数据处理有一拼
[/Quote]
主要问题就是函数的开销会很大么?
turing-complete
2011-11-07
打赏
举报
回复
内联呗
pegaso
2011-11-07
打赏
举报
回复
有三个时间需要考虑:
参数传入的方式和耗时,
计算过程的耗时,
函数调用的开销。
在LZ所述场景中,貌似只是简单的查找、变换操作吧?这样函数开销也许可以与数据处理有一拼
柯本
2011-11-07
打赏
举报
回复
[Quote=引用 1 楼 akirya 的回复:]
1效率高一些
[/Quote]
++
因为调用函数时,函数头上会有一些对栈的操作,会耗费一些时间,尾部的ret指令也耗时间.
这也是C/C++中引用inline的原因之一
lhy
2011-11-07
打赏
举报
回复
其实十万次函数调用也没什么,以现在的计算机来说,只要不是一秒钟十万次影响都不太大。
附带说一句如果是递归十万次肯定是不成了。
珍惜生命远离CPP
2011-11-07
打赏
举报
回复
1效率高一些
python函数实战-上
本课程主要讲解python中函数使用,主要内容有:1. 函数定义2.
函数调用
3. 函数的参数4. 函数返回值5. 函数四种类型6. 全局变量7. 局部变量9.组包10.解包
实验:结合多种编程语言,验证频繁调用函数是否会造成系统性能损失
1、前一段
时间
,在与老师共同开发的过程中,老师提出了少用函数,函数会造成所开发系统的性能的损失。对于这一点,我是赞同的,但同时觉得造成的系统性能的损失应该也是很微下的。因此,有了本次的实验。 2、本次...
C# 跨窗口调用函数
由于我想将所有的功能都显示到一个界面上(也就是使用嵌入主窗体的方式完成),就有几个地方需要直接调用Form1的函数。 1.跨窗口调用函数的实现 在Form1中设置一个静态变量,使这个静态变量等于this,就能让其他窗口...
x264
函数调用
关系图
FFMPEG中MPEG-2编解码
函数调用
关系图 1 Encoder (
函数调用
从左到右,下同;图片显示不全时,请下载显示) 2 P帧运动估计流程图 3 B帧运动估计流程图 4 decoder ffmpe
宏和函数的优缺点
函数的调用和返回是要消耗性能的,对于进行简单运算的时候,实际计算的性能
损耗
可能还没有
函数调用
,返回需要的耗费的性能要高。 宏是替换,不是传值。不需要额外
损耗
性能。从这个角度上看使用宏比函数效率要高。 ...
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章