Dlaczego uruchamianie aplikacji na Linuksie jest wolniejsze przy korzystaniu z współdzielonych bibliotek?

Na urządzeniu wbudowanym, nad którym pracuję, czas uruchamiania jest ważnym problemem. Cała aplikacja składa się z kilku plików wykonywalnych, które używają zestawu bibliotek. Ponieważ przestrzeń w pamięci FLASH jest ograniczona, chcielibyśmy korzystać z bibliotek współdzielonych.

Aplikacja działa jak zwykle po skompilowaniu i połączeniu z bibliotekami współdzielonymi, a ilość pamięci FLASH jest zmniejszona zgodnie z oczekiwaniami. Różnica w stosunku do wersji powiązanej z bibliotekami statycznymi polega na tym, że czas uruchamiania aplikacji jest dłuższy o około 20 sekund i nie mam pojęcia dlaczego.

Aplikacja działa na procesorze ARM9 przy 180 MHz z Linuksem 2.6.17 OS, 16 MB FLASH (JFFS File System) i 32 MB RAM.

questionAnswers(6)

yourAnswerToTheQuestion