41

JXTA や PjSIP などの多くのライブラリはフットプリントが小さいと聞きました。これは、リソースの消費量が少ないことを示していますか、それとも何か他のことを示していますか?

4

6 に答える 6

49

フットプリントは、コンピューターの RAM メモリ内でアプリケーションが占有するサイズを示します。

メモリ消費について話すとき、フットプリントは異なる意味を持つ場合があります。私の経験では、多くの場合、メモリ フットプリントには、ヒープに割り当てられたメモリ (動的メモリ) やディスクから読み込まれたリソースは含まれません。これは、動的割り当てが一定ではなく、アプリケーションやモジュールの使用方法によって異なる可能性があるためです。「設置面積が小さい」または「設置面積が大きい」と報告するときは、通常、必要なスペースの定数または最高の測定値が求められます。

たとえば、画像エディターのフットプリント レポートに動的メモリを含める場合、フットプリントは、ユーザーがアプリケーションにロードした画像のサイズに完全に依存します。

サード パーティ ライブラリのコンテキストでは、ライブラリの作成者は、アプリケーション バイナリに必要以上のコードをリンクしないようにすることで、ライブラリの静的メモリ フットプリントを最適化できます。たとえば C でこれを行うために使用される一般的な方法は、ライブラリ関数を個別の c ファイルに配布することです。これは、ほとんどの C リンカが、呼び出す関数だけでなく、c ファイルのすべてのコードをアプリケーションにリンクするためです。したがって、c ファイルに 1 つの関数を配置すると、呼び出し時にリンカーがアプリケーションに組み込むのはそれだけです。c ファイルに 5 つの関数を配置すると、そのうちの 1 つしか使用しない場合でも、リンカーはおそらくそれらすべてをアプリにリンクします。

以上のことから、フットプリントの一般的な (学術的な) 定義には、あらゆる種類のメモリ/ストレージの側面が含まれます。

于 2009-10-24T13:52:57.260 に答える
8

ウィキペディアのメモリ フットプリントの記事から:

メモリ フットプリントとは、実行中にプログラムが使用または参照するメイン メモリの量を指します。

これには、(大部分) プログラム命令 (場合によっては定数) を含むコード セグメント、データ セグメント (初期化されたものと初期化されていないもの)、ヒープ メモリ、コール スタック、および次のような追加のデータ構造を保持するために必要なメモリなど、あらゆる種類のアクティブなメモリ領域が含まれます。シンボルテーブル、デバッグデータ構造、開いているファイル、現在のプロセスにマップされた共有ライブラリなど、プログラムが実行中に必要とし、実行中に少なくとも 1 回読み込まれます。

于 2014-08-01T08:54:20.770 に答える
5

一般に、これは使用するメモリの量です。つまり、実行時にメモリに残す「フットプリント」です。ただし、ハードドライブで占有する容量を参照することもできますが、最近ではあまり問題になりません.

アプリを作成していてメモリに制限がある場合は、プロファイラーを実行して、プログラムが使用している量を追跡することを検討してください。

于 2009-10-24T13:55:03.210 に答える
4

リソースを参照します。特にメモリ。実行時に必要なメモリ量が少なくなります。

于 2009-10-24T13:53:28.843 に答える
1

はい、メモリやディスクなどのリソース

于 2009-10-24T13:52:49.693 に答える
-1

コンピューティングにおけるフットプリント、つまりコンピュータ プログラムまたはコンピュータ マシンのフットプリントは、プログラム、プロセス、コードなどの占有デバイス メモリと呼ばれます。

于 2021-01-02T19:00:05.113 に答える