【问题标题】:What is meaning of small footprint in terms of programming?就编程而言,占用空间小是什么意思?
【发布时间】:2010-12-09 17:42:19
【问题描述】:

我听说 JXTA 和 PjSIP 等许多库的占用空间更小。这是指资源消耗小还是别的什么?

【问题讨论】:

    标签: footprint


    【解决方案1】:

    计算机程序或计算机机器的计算足迹被称为占用的设备内存,用于程序、进程、代码等

    【讨论】:

      【解决方案2】:

      来自维基百科Memory footprint文章:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        话虽如此,足迹的一般(学术)定义包括各种内存/存储方面。

        【讨论】:

          【解决方案4】:

          通常是它占用的内存量——运行时它在内存中留下的“足迹”。但是,它也可以指它在您的硬盘驱动器上占用了多少空间 - 尽管现在这已经不是什么大问题了。

          如果您正在编写应用程序并且存在内存限制,请考虑运行分析器来跟踪您的程序使用了多少。

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

              是的,内存或磁盘等资源

              【讨论】:

                猜你喜欢
                • 2019-04-01
                • 1970-01-01
                • 2015-01-21
                • 2023-03-24
                • 1970-01-01
                • 1970-01-01
                • 2012-08-15
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多