JXTAやPjSIPなどのライブラリのほうがフットプリントが小さいと聞きました。これは小規模なリソースの消費か他の何かを指していますか?プログラミングの面で小さなフットプリントの意味は何ですか?
答えて
フットプリントは、コンピュータのRAMメモリにアプリケーションによって占有さのサイズを指定します。
フットプリントは、メモリ消費について話すときに異なる意味を持つことがあります。 私の経験では、メモリフットプリントにはヒープ(ダイナミックメモリ)に割り当てられたメモリやディスクなどからロードされたリソースは含まれないことがよくあります。これは、動的割り当てが一定ではなく、アプリケーションやモジュールの使用方法によって変わる可能性があるためです。 「低フットプリント」または「高フットプリント」を報告するときは、通常、必要なスペースの一定または最上位の測定値が必要です。
たとえば、イメージエディタのフットプリントレポートにダイナミックメモリを含めると、フットプリントはアプリケーションによってアプリケーションにロードされるイメージのサイズに完全に依存します。
サードパーティライブラリのコンテキストでは、ライブラリ作成者は、必要以上にアプリケーションバイナリにコードをリンクしないようにすることで、ライブラリのスタティックメモリフットプリントを最適化できます。例えばCでこれを行うために使用される一般的な方法は、ライブラリ関数を別々のcファイルに配布することです。これは、ほとんどのCリンカーが、呼び出した関数だけでなく、cファイルのすべてのコードをアプリケーションにリンクするためです。したがって、cファイルに単一の関数を置くと、リンカーは呼び出し時にアプリケーションに組み込むことになります。 cファイルに5つの関数を置くと、リンカーはおそらくそれらのうちの1つだけを使用していてもそれらのすべてをあなたのアプリケーションにリンクします。
このすべてが言われているように、フットプリントの一般的な(学術的な)定義には、あらゆる種類のメモリ/ストレージの側面が含まれます。
はい、メモリやディスクなどのリソース
リソースを参照しています。特にメモリ。実行するには少量のメモリが必要です。
一般的に、メモリ使用量は、実行時にメモリに保存される「フットプリント」です。しかし、それはあなたのハードドライブ上でどれくらいのスペースを占めるかを参照することもできますが、最近はそれほど問題はありません。
アプリを作成しているときにメモリが制限されている場合は、プロファイラを実行してプログラムの使用状況を把握することを検討してください。
ウィキペディアからMemory footprint記事:
メモリフットプリントは、実行中のプログラムを使用または参照することをメインメモリの量を意味します。
これには、プログラム命令(および場合によっては定数)を含むコードセグメント、データセグメント(初期化および初期化されていない)、ヒープメモリ、コールスタック、追加データを保持するために必要なメモリシンボルテーブル、デバッグデータ構造、オープンファイル、現在のプロセスにマップされた共有ライブラリなどの構造は、実行中にプログラムが必要とし、実行中に少なくとも1回ロードされます。
- 1. Delphiプログラミングで "%s"、 "%d"などの意味は何ですか?
- 2. 客観的な意味での意味は何ですか?
- 3. デスクトップウィジェット(小さなフットプリントと美しいグラフィックス)に最適なのは何ですか?
- 4. -spec、-type、-opaqueはerlangプログラミングで何を意味しますか
- 5. C/C++プログラミングで%0x%xは何を意味しますか?
- 6. プログラミングで「ラッピング」とは何を意味しますか?
- 7. Sitecore FakeDBテストの最小Nugetsフットプリントは何ですか?
- 8. NSDecimalAdd() - constの意味は何を意味するのですか?
- 9. <?>はJavaまたは他のプログラミング言語の意味は何ですか?
- 10. ReactJSでは何の意味ですか?
- 11. MongoDBでの意味は何ですか?
- 12. Perlで@_の意味は何ですか?
- 13. プログラミングで推移的なことは何を意味していますか?
- 14. Pythonの[...]の意味は何ですか?
- 15. Makefileの '%'の意味は何ですか?
- 16. タイコの$の意味は何ですか
- 17. "* ngFor"の "*"の意味は何ですか?
- 18. Perlの=〜の意味は何ですか?
- 19. numpyの '*'の意味は何ですか?
- 20. os.pathの "./"の意味は何ですか?
- 21. CSSの意味は何ですか?
- 22. forループの意味は何ですか?
- 23. x [:] = yの意味は何ですか?
- 24. :: ::の意味は何ですか?
- 25. dylibファイルの意味は何ですか?
- 26. ngx_http_request_s :: extenの意味は何ですか
- 27. i = jの意味は何ですか -
- 28. AVErrorMediaServicesWereResetの意味は何ですか?
- 29. __dyld_dyld_fatal_error_disassemblyの意味は何ですか?
- 30. main_syntaxの意味は何ですか