나는 다음과 같은 experinment를 고려했다 : 단지 0을 반환하는 간단한 C 프로그램이지만, gcc가 링크를 허용하는 모든 라이브러리와 연결됨 - 총 207 개. 이 프로그램을 실행하려면 많은 시간이 필요합니다. -2.1 콜드 스타트, 0.24 워밍업. 그래서 다음 단계는 프로그램을 작성하는 것인데, 라이브러리와 연결된이 힙은 & exec on request입니다. 이미 라이브러리를로드하고 fork가 프로세스의 동일 복사본을 만든다면 처음 프로그램 을 매우 빠르게 실행할 생각입니다. 그러나 차이점을 발견하지 못했습니다. 쉘을 통해 첫 번째 프로그램을 실행하거나 모든 라이브러리와 연결된 두 번째 프로그램을 통해 프로그램을 실행했습니다. 내 실수는 무엇입니까?포크와 동적 라이브러리 상호 작용
편집 : 그래, 나는 간부의 포인트를 놓쳤다. 그러나 응용 프로그램 시작 속도를 높이는 것이 내 아이디어의 가능한 개선일까요? 나는 prelink에 관해 알고있다. 그러나 그것은 약간 다른 생각을한다.
실험 내용에 대해 자세히 알려주십시오. 나는 아마도 똑같은 결과를 보지 못했고 157 라이브러리 ('ldd'에 의해 주어진), 0.54 초의 콜드 스타트, 0.07 리얼 초의 웜 스타트를 보았을 것입니다. –
@Basile : 정확한 라이브러리 세트 나 문제의 기계를 알지 못하기 때문에 절대 번호를 비교하는 것이 실제로 의미가 없습니다. 게다가 둘 다 따뜻한 시동이 감기 시작보다 대략 빠른 속도로 시작됩니다. –