공유 라이브러리는 일반적으로 좋지 않아요
(lore.kernel.org)- Fedora에서 clang/llvm이 느린 이유는, 정책적으로 다른 패키지와 동적 링킹하는 것 때문
ㅤ→ 이에 대한 Linus Torvalds 의 코멘트
"페도라가 그거 안했으면 좋겠어요. 공유 라이브러리는 일반적으로 좋지 않아요.
이 경우엔(clang) 많은 오버헤드가 발생하고, 필요없는 의존성과 복잡성이 생깁니다.
대부분의 공유 라이브러리는 실제로 버전세이프 하지도 않아서, 전혀 이점이 없어요"
"디스크 사용량을 절약할 수 있겠지만, 디스크는 싸고, 메모리 절약도 실제로는 네거티브 합니다.
사람들이 '공유 라이브러리는 본질적으로 좋다' 라고 얘기하지만 정말 그렇지 않습니다. 많은 문제를 만들어내고, 그 장점은 이 큰 단점들과 비교해야 합니다.
공유 라이브러리가 실제로 유용한 곳은 진정으로 표준화된 기본 배포판의 시스템 라이브러리들 뿐입니다. "
예전에 윈도 프로그래밍할 때 dll 로 만드냐 exe 안에 static 라이브러리로 박아넣느냐 고민하던 기억이 다시 떠오릅니다.
처음엔 디스크, 메모리 사용량도 줄이고 캐시율도 높이는 공유 라이브러리 사용을 좋아했는데 나중엔 도저히 관리가 안되고 불편함이 너무 많아 다 static 으로 때려박기 시작했네요.
그 이후로 몸은 편해졌지만 뭔가 마음이 계속 불편했는데 토발즈형 말 들으니 이제야 마음이 편해지는군요.....
처음부터 편하게 살 껄.
맞아요 그리고 실무에서는 개발 담당자가 편해지는 것 외에도 환경별 문제에 따른 지원에 대한 부담이 해소된다는 것도 큰 부분을 차지하죠.