函数调用对程序性能的影响有多大?有什么影响! 求高人指导

如题所述

有多大影响,取决于程序在时间上的精度要求有多高.
现在的编程几乎没有不用函数调用的,函数调用其实只是指针移动.在通常情况下的应用编程,函数调用所消耗的时间基本可以忽略不计.尽量把函数内的算法优化好远比考虑如何节省函数调用靠谱.如果程序对运行效率有非常非常高的要求(不过,我想不到有哪些场景会有那么高的要求?)用汇编吧.追问

我不理解算法会对程序性能有多大的影响,也只是听说过,可是没有切实感受到过,
函数调用就是简单的指针移动吗?那中断呢?按你的理解也可以理解成指针移动吧?

追答

嗯,是的.

追问

那么既然函数调用和中断没有多大的实质区别,是不是函数调用多了。调用频繁了,会影响中断的响应啊!

追答

中断和函数还是有点差别的.只是我觉得真不必要在这里纠结这点时间.
中断的响应与函数关系并不太大,一般来说,中断之后也就是去调某个函数处理.

追问

其实我纠结的不是时间,而是函数的调用导致中断不能响应,所以我很是恶心这个函数的调用!!

追答

中断调用也是函数啊?因为函数导致中断不能响应的原因,肯定不是因为函数调用机制的问题,而是函数本身功能实现的原因吧?所以我认为你查错的方向应该调整下.

追问

其实不是我的中断不能响应,而是函数的调用,影响我的中断响应。。

追答

那就检查下那函数,使用了什么导致中断响应的?其实,这还是在逻辑关系上没有理顺的原因.光看明面上的问题,不能完全为你解决.很多中断的处理过程中,可能就应该是不允许被再次中断的,否则会引发其他逻辑上的问题,所以,你再检查下你现有程序中的逻辑关系问题吧.-----这已经离题很远了.

温馨提示:内容为网友见解,仅供参考
无其他回答

回调函数运行时间太长影响了程序性能,怎么办
1.记住阿姆达尔定律:funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数。所以,如果你优化了函数TriangleIntersect执行40%的运行时间,使它运行快了近两倍,而你的程序会运行快25%。这意味着不经常使用的代码不需要做较多优化考虑(或者完全不优化)。这里有句俗语:让经常执行的路径运...

fork炸弹原理与影响
fork炸弹是一种特殊的程序,它以惊人的速度通过递归地调用系统函数fork()创建大量进程,这些进程的数量以指数级增长,基础为2。这个过程会迅速耗尽系统为进程分配的资源,尤其是进程表的空间。当进程表满载时,系统将无法接纳新的进程,除非有现存的进程结束其运行。值得注意的是,由于每个fork出的子进程都...

软件特攻队|内联函数,C++运行优化利器
可能导致代码膨胀,增加编译后的二进制文件大小。如果函数过大或复杂,编译器可能不会内联,导致优化效果不明显。在决定是否使用内联函数时,开发者需考虑函数的特性、执行频率以及对代码可读性的影响。在性能关键路径上的简短且高频执行的函数,使用内联函数通常是值得的。同时,应避免滥用内联,以保持代码...

跪求C语言函数调用的详细过程,函数之间是怎么传递的,到底是怎么发生调用...
函数的联机扩展会产生较长的代码,所以只应该内联对应用程序性能有显著影响的函数以及长度较短的函数 3、新增数据类型 _Bool 值是0或1。C99中增加了用来定义bool、true以及false宏的头文件夹<stdbool.h>,以便程序员能够编写同时兼容于C与C++的应用程序。在编写新的应用程序时,应该使用 <stdbool.h>头文件中的...

【C\/C++ 单线程性能分析工具 Gprof】 GNU编译器套件 性能分析工具 Gprof...
第一章:引言Gprof是一个性能分析工具,用于理解C\/C++程序运行情况。它提供调用信息,如调用次数和执行时间,有助于优化程序、提升运行效率。Gprof是GCC的一部分,通过采样PC值分析程序性能瓶颈。性能分析在软件开发中尤为重要,特别是在嵌入式系统中,性能优化至关重要。Gprof帮助开发者找到并优化程序中的...

Python异常对代码运行性能的影响实例解析方法
我平时写程序的过程中也喜欢使用异常,虽然采取防御性的方式编码会更好,但是交给异常处理会起到偷懒作用。偶尔会想想异常处理会对性能造成多大的影响,于是今天就试着测试了一下。Python异常(谷歌开源风格指南)tip:允许使用异常, 但必须小心。定义:异常是一种跳出代码块的正常控制流来处理错误或者其它异常...

...{})外设置全局var obj={...}对小程序运行性能有影响吗?
没有太大的影响的 1、在小程序之外的生命周期和方法外定义全局的函数及变量对于小程序的性能没有太大的影响的,只是这样的写法可能会使代码变乱 2、建议还是把变量定义到data中以便响应式的追踪变量的变化和响应式的更新视图

一文理解|GCC内联函数(inline)
然而,内联函数并非无条件适用。它的使用取决于函数的复杂性、执行时间、代码大小和程序的运行环境。过长或复杂度高的函数不适合内联,因为这样可能导致代码膨胀,影响程序的可读性和维护性。此外,内联函数的使用也可能增加编译器的负担,影响编译速度。GCC中使用`inline`关键字声明内联函数。有两种常见的...

java应用服务增加节点对性能有影响吗
特别是String对象的使用中,出现字符串连接情况时应使用StringBuffer代替,由于系统不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理。因此生成过多的对象将会给程序的性能带来很大的影响。3.尽量使用局部变量。调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,...

c#初级、中级、高级程序员各需要掌握什么样的技能啊?
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况...

相似回答
大家正在搜