3
라스베리 파이에 대한 node.js (v0.8.14)의 최신 버전을 크로스 컴파일했습니다. 새로운 버전을 apt-get을 통해 설치된 v0.6.19 노드와 비교해 보면, 실행 파일의 크기가 1.2Mb에서 6.2Mb로 증가한 것에 놀랐습니다.라스베리 파이에 대한 node.js의 새 컴파일 버전이 5 배 더 큰 실행 파일
노드의
- 최신 버전으로 인해 크기가 5 배 증가한 : v0.6.19 -> v0.6.19
- GNU/리눅스 버전 : 2.6.26 -> 3.5.0
- 다른 건 없나요? 큰 바이너리는 정적으로 링크 된 코드의 숫자를 사용하고 있기 때문에
readelf
로 모두 바이너리에 면밀한 관찰을 복용 한 후
[email protected] ~ $ /usr/bin/node -v; ll -h /usr/bin/node; file /usr/bin/node v0.6.19 -rwxr-xr-x 1 root root 1.2M Jun 30 18:55 /usr/bin/node /usr/bin/node: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26,uildID[sha1]=0xb29e21fbf3e8a7db733fbcd0539e593264d88c94, stripped [email protected] ~ $ ./node -v; ll -h ./node; file ./node v0.8.14 -rwxr-xr-x 1 pi pi 6.2M Oct 28 20:43 ./node ./node: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.5.0, stripped
현재 확인할 수는 없지만 0.6.19를 컴파일하고 비교하여 첫 번째 질문에 대답 할 수 있습니다. 어쩌면 패키지를 만든 사람마다 다른 최적화가 적용되었을 수도 있습니다. – loganfsmyth
노드, 0.6에서 0.8 사이의 노드는 구성 스위치에 따라 자체 OpenSSL을 포함합니다. 그런 것일 수도 ... – Joe