本文介绍了函数调用的成本是多少?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对比
- 简单的内存访问
- 磁盘访问
- 另一台计算机上的内存访问(在同一网络上)
- 另一台计算机上的磁盘访问(在同一网络上)
在 Windows 上的 C++ 中.
in C++ on windows.
推荐答案
相对时序(偏差不应超过 100 倍;-)
relative timings (shouldn't be off by more than a factor of 100 ;-)
- 缓存中的内存访问 = 1
- 缓存中的函数调用/返回 = 2
- 缓存外的内存访问 = 10 .. 300
- 磁盘访问= 1000 .. 1e8(摊销取决于传输的字节数)
- 主要取决于寻道时间
- 传输本身可能非常快
- 至少涉及几千次操作,因为用户/系统阈值必须至少跨越两次;I/O 请求必须被调度,结果必须被写回;可能分配了缓冲区...
- 与磁盘 i/o 的参数相同
- 原始传输速度可能相当高,但另一台计算机上的某些进程必须执行实际工作
这篇关于函数调用的成本是多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!