Słyszałem, że wiele bibliotek, takich jak JXTA i PjSIP, ma mniejsze ślady. Czy wskazuje to na małe zużycie zasobów lub coś innego?Co oznacza mały ślad pod względem programowania?
Odpowiedz
Footprint wyznacza wielkość zajmowanej przez aplikację w pamięci RAM komputera.
Ślad może mieć różne znaczenie, gdy mówimy o zużyciu pamięci. Z mojego doświadczenia wynika, że ślad pamięci często nie uwzględnia pamięci przydzielonej do sterty (pamięci dynamicznej) lub zasobu załadowanego z dysku itp. Dzieje się tak dlatego, że alokacje dynamiczne nie są stałe i mogą się różnić w zależności od sposobu użycia aplikacji lub modułu. Zgłaszając "niską powierzchnię" lub "wysoki ślad", zwykle wymagana jest stała lub najwyższa miara wymaganej przestrzeni.
Jeśli na przykład zawiera pamięć dynamiczną w raporcie śladu edytora obrazów, ślad będzie całkowicie zależny od rozmiaru obrazu załadowanego do aplikacji przez użytkownika.
W kontekście biblioteki osób trzecich autor biblioteki może zoptymalizować statyczny rozmiar pamięci biblioteki, upewniając się, że nigdy nie łączysz więcej kodu z plikiem binarnym aplikacji niż jest to absolutnie konieczne. Typową metodą używaną w tym celu na przykład w C jest dystrybucja funkcji bibliotecznych w celu oddzielenia plików c. Wynika to z faktu, że większość łączników C będzie łączyć cały kod z pliku c do aplikacji, a nie tylko wywoływaną funkcję. Więc jeśli umieścisz pojedynczą funkcję w pliku c, to cały linker będzie dołączany do twojej aplikacji podczas jej wywoływania. Jeśli umieścisz pięć funkcji w pliku c, linker prawdopodobnie połączy wszystkie z nich w twoją aplikację, nawet jeśli użyjesz tylko jednego z nich.
Wszystko to jest powiedziane, ogólna (akademicka) definicja śladu obejmuje wszystkie rodzaje aspektów pamięci/przechowywania.
tak, zasoby, takie jak pamięć lub dysk
Dotyczy zasobów. Szczególnie pamięć. Wymaga mniejszej ilości pamięci podczas pracy.
Generalnie jest to ilość pamięci, którą zajmuje - "ślad" pozostawia w pamięci podczas pracy. Jednak może również odnosić się do ilości zajmowanej przez nie miejsca na dysku twardym - chociaż te dni to mniejszy problem.
Jeśli piszesz aplikację i masz ograniczenia pamięci, możesz rozważyć uruchomienie profilera, aby śledzić, ile używa twój program.
z Wikipedii Memory footprint artykułu:
ślad pamięci odnosi się do ilości pamięci głównej, który program wykorzystuje lub odniesienia podczas jazdy.
Obejmuje to wszystkie rodzaje aktywnych regionów pamięci, takich jak segment kodu zawierający (głównie) instrukcje programu (i czasami stałe), segment danych (zarówno zainicjowany i niezainicjowany), pamięć sterty, stos wywołań, a także pamięć wymaganą do przechowywania jakichkolwiek dodatkowych danych struktury, takie jak tabele symboli, debugowanie struktur danych, otwarte pliki, współużytkowane biblioteki odwzorowane na bieżący proces itp., których program kiedykolwiek potrzebuje podczas wykonywania i które będą ładowane co najmniej raz podczas całego przebiegu.
- 1. Co to jest pozycja pod względem sekwencji?
- 2. Co oznacza "przesunięcie" w kontekście programowania?
- 3. Zmienione względem zmiennych zmiennych pod względem przechwytywania
- 4. Co oznacza mały zegar na zielonej kuli metody w Eclipse?
- 5. AtomicXXX.lazySet (...) pod względem występowania przed krawędziami
- 6. Co oznacza metoda to_proc?
- 7. Co oznacza wypiekanie metody?
- 8. zakres vs ctags pod względem funkcji
- 9. Tablice i listy połączone pod względem lokalizacji
- 10. Co oznacza xmlns = "" dokładnie oznacza
- 11. co oznacza program sterownika?
- 12. Co oznacza (+ var) oznacza
- 13. Co oznacza kontekst?
- 14. Co oznacza skrót IDC?
- 15. Przyjemny mały prosty przykład programowania w prawdziwym życiu w Haskell?
- 16. Jak porównać funkcje Pythona pod względem wydajności?
- 17. Co oznacza "nie działa pod jakąś powłoką" w skryptach Perla?
- 18. Co oznacza && pod koniec podpisu funkcji (po nawiasie zamykającym)?
- 19. Java - Co oznacza "\ n"?
- 20. Co znaczy: co oznacza?
- 21. Co oznacza = *?
- 22. Co oznacza "::"?
- 23. co oznacza „$ &” oznacza w Ruby
- 24. Co oznacza "pakowanie" w programowaniu?
- 25. Co oznacza skrót MVW?
- 26. Co oznacza "Language Construct"?
- 27. Co oznacza rozwidlenie GitHub?
- 28. co oznacza komunikat "brak wyjątku"?
- 29. Co oznacza komentarz "COMBAK"?
- 30. Co to jest ślad aplikacji i jak ją obliczyć?