-
Data: 2017-11-17 10:29:17
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Aby nie ładować wszystkiego na raz do pamięci. Przeciętna poważna
> aplikacja może mieć sumę zajmowanego kodu w dll w granicach kilku GB.
A ile ta przeciętna poważna aplikacja zajmowałaby gdyby była zlinkowana statycznie?
Przykład obrazkowy (nierealny, ale łatwy): jest biblioteka funkcji, nich będzie, że
matematycznych. Jest tam 1000 funkcji i biblioteka w postaci DLL ma 1000MB, czyli
średnio 1MB/funkcję. Program korzysta tylko z jednej funkcji i powiedzmy, że jest ona
niezależna od innych. Taki program wciąga 1GB DLL dynamicznie (i korzysta tylko z 1
promila tego) albo jest tylko o 1MB grubszy statycznie.
To nie jest taki całkiem nierealny przykład, zwłaszcza jeśli mówimy o bibliotekach
masowego rażenia, np. GUI albo innych 3rd-party. Przeciętny program używa tylko
ułamka takich bibliotek i jeśli jest linkowany statycznie, to jego ciężar może być
znacznie mniejszy, niż suma wszystkich bezpośrednio i pośrednio wciąganych DLLek.
Czas startu takiego programu też będzie mniejszy, nie tylko z powodu mniejszego
rozmiaru (czyli mniejszej ilości danych do wczytania), ale też z powodu braku
konieczności patchowania symboli z dynamicznie wczytanych bibliotek (jeśli taki
mechanizm w danym systemie występuje).
Ponawiam pytanie: ile przeciętna poważna aplikacja (taka na kilka GB) zajmuje po
statycznym linkowaniu? I jak to wpływa na jej czas uruchamiania?
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 17.11.17 15:23 s...@g...com
- 17.11.17 17:28 Sebastian Biały
- 17.11.17 17:35 Sebastian Biały
- 17.11.17 18:11 s...@g...com
- 17.11.17 18:29 Sebastian Biały
- 18.11.17 11:38 M.M.
- 19.11.17 13:21 fir
- 19.11.17 14:02 fir
- 19.11.17 14:11 fir
- 19.11.17 18:26 m...@k...org
- 19.11.17 18:28 m...@k...org
- 20.11.17 08:08 M.M.
- 20.11.17 12:57 Maciej Sobczak
- 20.11.17 13:42 Maciej Sobczak
- 20.11.17 17:26 fir
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-05 Zielona GĂłra => Konsultant wdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-03-05 Białystok => Spedytor Międzynarodowy (handel ładunkami/prowadzenie
- 2025-03-05 Warszawa => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-05 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-05 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-03-05 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-05 Kraków => Business Development Manager - Network and Network Security
- 2025-03-05 Zaniepokojeni mieszkańcy
- 2025-03-05 Ile pieniędzy ma bank?
- 2025-03-05 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-05 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-03-05 Warszawa => Frontend Developer (Angular13+) <=
- 2025-03-05 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-05 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-05 Warszawa => JavaScript / Node / Fullstack Developer <=