社区
Java
帖子详情
单进程下,调用一个函数的代价有多小?
sleepingboy
2003-11-05 12:00:55
在《重构--改善既有代码的设计(中文版)》中,有一句话,“在单进程软件中,你永远不必担心多么频繁的调用某个函数,因为函数的调用成本很低”。(P106)
调用一个函数的代价为什么会低到可以“永远不必担心”的程度呢?
...全文
68
9
打赏
收藏
单进程下,调用一个函数的代价有多小?
在《重构--改善既有代码的设计(中文版)》中,有一句话,“在单进程软件中,你永远不必担心多么频繁的调用某个函数,因为函数的调用成本很低”。(P106) 调用一个函数的代价为什么会低到可以“永远不必担心”的程度呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
北极猩猩
2003-11-20
打赏
举报
回复
对于Java来说调用函数没有什么性能损失的。
因为Java虚拟机本身就是一个基于堆栈的虚拟机,执行任何操作都要压栈的,函数调用没什么特殊的
对于C++来说可以inline啊
kui
2003-11-08
打赏
举报
回复
没看过《重构--改善既有代码的设计(中文版)》,不好乱对该书发表评论。但是对“在单进程软件中,你永远不必担心多么频繁的调用某个函数,因为函数的调用成本很低”一句确实不易理解,我估计这里是指占用内存资源吧,而不是指占用CUP时间。
sleepingboy
2003-11-08
打赏
举报
回复
没人看过《重构》??
truezerg
2003-11-06
打赏
举报
回复
再你没有把表看针的时间缩短以前,你“永远不必担心”抬手所花费的时间
truezerg
2003-11-06
打赏
举报
回复
如果你看一次手表花在看表针是几点的时间上是30分钟而抬起手的时间是3秒钟,你会认为你抬一百次手很费力吗?
廖雪峰
2003-11-06
打赏
举报
回复
函数调用的成本:
1.CPU把相关寄存器压栈
2.转到函数体执行
3.执行完毕后恢复寄存器
花费就在1,3上,但是相对一个复杂算法来说这点时间微不足道。
把算法的效率提高1%就比优化这些函数调用强
sleepingboy
2003-11-06
打赏
举报
回复
为什么要强调“单进程”呢?
文中的意思似是说,及时几乎什么都不做的“委托”函数
也不用担心频繁调用
几乎没代价
alexll
2003-11-05
打赏
举报
回复
你会认为看看你的手表很费劲吗?
sleepingboy
2003-11-05
打赏
举报
回复
看一次当然没关系
可是一秒钟看100次手表呢?
怎么让我“永远不必担心”啊
多 Agent 协作的上下文税:你的 Agent 系统正在为信息重复注入付出
代价
本文剖析多Agent系统中因重复注入、状态漂移和上下文焦虑引发的‘上下文税’问题,指出
单
纯token压缩无法根治,须重建上下文所有权模型。提出将上下文访问建模为工具
调用
、采用乐观锁保障状态一致性、Orchestrator作为信息过滤器而非广播站等核心工程策略,并强调结构化检查点重置优于摘要压缩。最后探讨上下文信任模型这一尚未被充分重视的安全挑战。
Linux C语言编程-Linux网络通信--Linux上使用套接字(socket)来处理信息---编写
一个
单
进程
非阻塞多客户的套接字客户端
本文介绍了一种非阻塞模式的Socket编程方法,通过使用select()
函数
监控文件描述符的状态变化,实现
单
进程
单
线程的高效网络通信。文中详细解释了阻塞与非阻塞模式的区别,并提供了具体代码实例。
告别臃肿
进程
:ROS2 Component实战,教你用
单
进程
合并节点降低50%系统负载
本文详解ROS2 Component机制,通过将多个节点合并至
单
进程
并启用Intra-Process通信,显著降低系统负载。重点涵盖动态库加载原理、节点实现方法、CMake构建配置、多线程与混合部署策略,并结合内存池、消息零拷贝及负载监控等关键技术,实测在Jetson Nano/RPi4B上降低50% CPU负载。
go标准库I/O模型:epoll+多协程
本文探讨epoll+多线程模型与epoll
单
进程
模型的区别及优势,通过对比Redis的epoll+
单
进程
模型,阐述epoll+多线程模型在处理请求时的灵活性与可维护性。同时介绍了golang标准网络库如何结合epoll和协程实现高效的I/O处理。
PyTorch概述(四)---DataLoader
本文详细介绍了PyTorch中的DataLoader,包括其核心作用、支持的数据集类型、数据加载顺序、自动批量处理、
单
进程
或多
进程
加载机制,以及内存锁定和定制功能。
Java
51,408
社区成员
86,095
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章