页面加载实际上是一个操作系统的概念,无关与C + +本身。它的开销,这来自于操作系统本身由于存储器被设置的方式。
您的计算机上有一定量的物理内存。这种内存需要保存所有正在运行的程序。然而,有时,我们的程序要使用更多的内存比我们有物理内存的机器上的情况下!在过去,你可能会得到一个内存错误,你的程序将无法运行,直到你释放一些东西了。然而,大多数现代操作系统都使用一个称为虚拟内存系统。虚拟内存基本上是一种技术,可以让操作系统分配更多的内存的程序比它实际的物理地址了!
这种工作方式是所有机器的物理内存被划分成块称为页。当一个程序被加载时,操作系统将其加载到如何以往任何时候都需要很多的网页。但是,如果我们用完了免费的网页,操作系统就会暂时写出一些旧的页面存入硬盘腾出空间。这是一个交换驱动器的目的。然后,当那些旧网页再次成为必要的,它从磁盘中读取它们放回内存(也可能写出别的东西)
如果你曾经在512兆的RAM (或更少)运行的是Windows XP (或Vista ) ,你知道怎么慢都可以。为什么呢?因为操作系统是写作本身块到磁盘和阅读他们回来在所有的时间。
您的计算机上有一定量的物理内存。这种内存需要保存所有正在运行的程序。然而,有时,我们的程序要使用更多的内存比我们有物理内存的机器上的情况下!在过去,你可能会得到一个内存错误,你的程序将无法运行,直到你释放一些东西了。然而,大多数现代操作系统都使用一个称为虚拟内存系统。虚拟内存基本上是一种技术,可以让操作系统分配更多的内存的程序比它实际的物理地址了!
这种工作方式是所有机器的物理内存被划分成块称为页。当一个程序被加载时,操作系统将其加载到如何以往任何时候都需要很多的网页。但是,如果我们用完了免费的网页,操作系统就会暂时写出一些旧的页面存入硬盘腾出空间。这是一个交换驱动器的目的。然后,当那些旧网页再次成为必要的,它从磁盘中读取它们放回内存(也可能写出别的东西)
如果你曾经在512兆的RAM (或更少)运行的是Windows XP (或Vista ) ,你知道怎么慢都可以。为什么呢?因为操作系统是写作本身块到磁盘和阅读他们回来在所有的时间。
臃肿的程序往往会导致操作系统具有读取和写出更多的页面(各种原因) 。自写的页面存入硬盘非常慢,这是你要避免尽可能多的东西。
一个简单的问题。当编译器是足够聪明的决定“内联”是否适用与否(基于一些隐藏的标准由编译器为你上面所解释的),作为一种常见的做法,为什么我们不能每个函数定义为内联函数和离开它由编译器来决定是否把它当作一个内嵌与否。可能是什么酸甜苦辣按照编码这样的风格?

7418

被折叠的 条评论
为什么被折叠?



