代码之家  ›  专栏  ›  技术社区  ›  Xinus

从编程的角度来看,小规模意味着什么?

  •  30
  • Xinus  · 技术社区  · 16 年前

    我听说许多库,如jxta和pjsip的足迹较小。这是指资源消耗量小还是其他原因?

    5 回复  |  直到 11 年前
        1
  •  41
  •   sharkin    16 年前

    footprint指定应用程序在计算机RAM内存中所占的大小。

    在谈到内存消耗时,内存占用可能有不同的含义。 根据我的经验,内存占用通常不包括在堆上分配的内存(动态内存)或从磁盘加载的资源等。这是因为动态分配是非常量的,可能会因应用程序或模块的使用方式而有所不同。当报告“低占地面积”或“高占地面积”时,通常需要对所需空间进行恒定或顶级测量。

    例如,如果在图像编辑器的示意图报告中包含动态内存,那么示意图将完全取决于用户加载到应用程序中的图像的大小。

    在第三方库的上下文中,库作者可以通过确保在应用程序二进制文件中链接的代码不会超过绝对需要的数量来优化库的静态内存占用。在实例C中,用于执行此操作的一种常见方法是将库函数分布到单独的C文件中。这是因为大多数C链接器将把C文件中的所有代码链接到您的应用程序中,而不仅仅是您调用的函数。因此,如果您在C文件中放入一个函数,那么调用它时,所有的链接器都会集成到您的应用程序中。如果您在C文件中放置了五个函数,那么链接器可能会将所有函数链接到您的应用程序中,即使您只使用其中一个函数。

    尽管如此,封装外形的一般(学术)定义包括各种内存/存储方面。

        2
  •  6
  •   Alexey    11 年前

    从维基百科 Memory footprint 文章:

    内存占用是指程序在运行时使用或引用的主内存量。

    这包括各种活动内存区域,如代码段,其中包含(大部分)程序指令(偶尔包含常量)、数据段(初始化和未初始化)、堆内存、调用堆栈,以及保存任何其他数据结构所需的内存,如符号表、调试数据结构、打开的文件、共享库。映射到当前进程等的RIES,这些进程在执行时需要,并且在整个运行期间至少加载一次。

        3
  •  4
  •   Mark Mayo    16 年前

    一般来说,它占用的内存量就是运行时在内存中留下的“足迹”。然而,它也可以指占用硬盘空间的大小——尽管现在这不是什么问题。

    如果您正在编写一个应用程序并且内存有限,那么可以考虑运行一个分析器来跟踪您的程序正在使用的内存量。

        4
  •  3
  •   Vincent Ramdhanie    16 年前

    它确实指的是资源。尤其是记忆。它在运行时需要较少的内存。

        5
  •  1
  •   djna    16 年前

    是的,内存或磁盘等资源

    推荐文章