关于函数调用速度的问题

问题描述

关于函数调用速度的问题

在C,C++中,如果把主函数分成几个子函数,会不会速度更快?

解决方案

不会。

要想使程序运行速度更快,需要在算法、代码层次上面做优化。

解决方案二:

,函数调用问题

解决方案三:

函数调用要花时间的,可考虑反汇编成汇编语言代码看看。

解决方案四:

当然不会,函数调用需要变量放入堆栈,跳转,都要开销。
当然,有些情况下会,比如你的函数是内联的,并且因为局部变量排列更紧凑,可能利用缓存的效率更高。但是通常来说不会。

解决方案五:

当然不会,而且还会浪费效率!
因为函数调用时需要将参数入栈,保护现场(返回地址入栈,寄存器入栈),执行现场跳转,局部变量入栈,调用完成还要平衡堆栈,所以这样做速度会变慢!
调用函数具体细节请百度:调用约定

解决方案六:

其实本身C++和C就已经不慢了,刻意去分开函数,也没有多大作用,顺其自然使用是最好的

时间: 2024-08-03 09:48:05

关于函数调用速度的问题的相关文章

VC命令行编译参数简介

CL.exe   是控制   Microsoft   C  和   C++  编译器与链接器的   32  位工具.编译器产生通用对象文件格式   (COFF)  对象   (.obj)  文件.链接器产生可执行文件   (.exe)  或动态链接库文件   (DLL).     注意,所有编译器选项都区分大小写.     若要编译但不链接,请使用   /c.     使用   NMAKE  生成输出文件.     使用   BSCMAKE  支持类浏览.     以下是一个完整的编译器选项分类

Visual C++编译器常用选项设置总结

[文章摘要] Microsoft Visual C++是微软公司推出的.在Windows下的可视化集成编程系统,也是广大软件工程师使用得比较多的一款编程软件.本文主要讲述Visual C++编译器常用的选项设置,为大家全面掌握该软件以进行软件开发工作提供了有益的参考. [关键词] Visual C++  选项设置  编译  调试 一.前言 Microsoft Visual C++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统.它不但具有程序框架自动生成.灵活方

利用HTML优化加快网页速度

速度|网页|优化      web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易.无论是技术高超的老手,还是初涉编程的菜鸟,领会这些都十分必要.      明显HTML,暗渡"公用脚本"      减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的

如何利用HTML优化加快网页速度

速度|网页|优化 web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易.无论是技术高超的老手,还是初涉编程的菜鸟,领会这些都十分必要. 明显HTML,暗渡"公用脚本"减少web页面下载时间的关键就是设法减小文件大小. 当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再在页面中按如

优化ACCESS提高速度

摘要   这篇文章介绍了在设计.编写和实现Microsoft Access 数据库应用程序时为保证拥有最高速度而需要注意的几点. 介绍   作为一名数据库程序员,你的主要任务是让你的用户能快速地选择.管理和访问他们所需要的信息.其他的工作几乎都是一成不变的,只要你的数据库应用程序执行速度越快,你的程序效率越高.这篇文章的目的就是突出各种不同的技巧和策略,通过优化程序来提高速度,让你的Microsoft Access 数据库应用程序的效率更高,这样也可以帮助你完成作为一名数据库开发者的主要使命.

优化MICROSOFT ACCESS提高速度

摘要   这篇文章介绍了在设计.编写和实现Microsoft Access 数据库应用程序时为保证拥有最高速度而需要注意的几点. 介绍   作为一名数据库程序员,你的主要任务是让你的用户能快速地选择.管理和访问他们所需要的信息.其他的工作几乎都是一成不变的,只要你的数据库应用程序执行速度越快,你的程序效率越高.这篇文章的目的就是突出各种不同的技巧和策略,通过优化程序来提高速度,让你的Microsoft Access 数据库应用程序的效率更高,这样也可以帮助你完成作为一名数据库开发者的主要使命.

结合百度统计做好wordpress速度优化

一直在用百度统计作为首选统计工具,相比其他工具而言这个最大的优点就在于IP统计准确,时效性效性高.但之前总是在用其统计功能统计我的 wordpress博客.今天偶然间发现,百度统计有个网站速度诊断功能,于是乎结合百度统计做Wordpress速度优化.进入百度统计,点击速度诊 断,开始诊断.等候一点时间之后,我的Wordpress速度得分如下: 网通 40 分 电信 60 分 该工具给出的影响我的wordpress博客速度有很多很细的项目,其中有如下影响速度可以优化的地方的建议: 1. 连接网络(

托管C++中函数调用的双重转换

在VC.Net中使用默认设置/clr编译时,一个托管函数会产生两个入口点,一个是托管的,供托管代码调用,另外一个是非托管的,供非托管代码调用.但是函数地址,特别是虚函数指针只能有一个值,所以需要有一个默认的入口. 非托管入口点可能是所有调用的默认入口(在 Visual Studio .NET2003 中,编译器总是会选择非托管入口,但是在Visual Studio 2005中,如果参数或者返回值中包含托管类型,那么编译器会选择托管入口),而另外一个只是使用托管C++中的互操作功能对默认入口的调用

函数调用约定解析 (zt)

章讲述了几种主要程序语言中的函数调用约定:详细说明时主要以VC6中的函数调用约定为主,阐释方式主要是以C++程序编译后得到的汇编代码来进行说明;  我所使用的编译器和平台:WindowsXP + 赛扬1G + VC6(主要工具)\Delphi6\C++Builder6; 一:函数调用约定;     函数调用约定是函数调用者和被调用的函数体之间关于参数传递.返回值传递.堆栈清除.寄存器使用的一种约定;      它是需要二进制级别兼容的强约定,函数调用者和函数体如果使用不同的调用约定,将可能造成程