-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=
- 2024-11-28 Zielona Góra => Spedytor międzynarodowy <=
- 2024-11-28 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-11-27 Zielona Góra => Senior PHP Developer <=
- 2024-11-27 Warszawa => Senior Java Developer <=