![openjdk-6, openjdk-7 및 openjdk-8의 SLOC 수 차이는 무엇입니까?](https://linux55.com/image/139474/openjdk-6%2C%20openjdk-7%20%EB%B0%8F%20openjdk-8%EC%9D%98%20SLOC%20%EC%88%98%20%EC%B0%A8%EC%9D%B4%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
연구 목적으로 특정 패키지의 SLOC(소스 코드 줄) 수를 계산하고 있습니다. 나는 여러 해 동안 데비안 스냅샷에서 패키지 소스를 다운로드하고 있습니다. 대부분의 소프트웨어 패키지의 경우 SLOC 수치는 해마다 증가합니다(예: Wireshark). 2010년의 SLOC는 2011년보다 적었지만 2018년까지 증가했습니다.
그러나 OpenJDK 6, 7, 8의 경우 상황이 다릅니다. openjdk-7
SLOC 수가 openjdk-6
. openjdk-8
SLOC 수가 openjdk-7
. 왜 그럴까요?
Debian 스냅샷에 문제가 있나요? 어쩌면 전체 소스 코드를 사용할 수 없을 수도 있습니다. 아니면 이것이 일반적인 패키지입니까?
답변1
OpenJDK 소스 패키지의 내용을 살펴보면 대부분의 소스 코드가 패키지 내의 tarball에 포함되어 있음을 알 수 있습니다. 당신이 달리면David A. Wheeler의 SLOCCount추출된 패키지 소스에서만 이러한 타르볼의 코드를 계산하지 않으므로 매우 부분적으로 계산됩니다.
소스 코드 크기를 제대로 비교하려면 sloccount
. 그렇게 하면 다음과 같은 통계가 제공됩니다(제가 분석한 버전에서).
openjdk-6 openjdk-7 openjdk-8
java: 2860304 (68.33%) 3232714 (72.32%) 3601973 (67.00%)
cpp: 648574 (15.49%) 671628 (15.03%) 892040 (16.59%)
ansic: 584813 (13.97%) 466742 (10.44%) 374378 (6.96%)
sh: 49935 (1.19%) 45608 (1.02%) 32891 (0.61%)
xml: 23937 (0.57%) 25927 (0.58%) 456037 (8.48%)
objc: 13062 (0.29%) 13557 (0.25%)
asm: 14125 (0.34%) 11555 (0.26%) 3508 (0.07%)
perl: 2258 (0.05%) 1220 (0.03%) 198 (0.00%)
pascal: 1089 (0.03%)
awk: 631 (0.02%) 687 (0.02%) 367 (0.01%)
python: 310 (0.01%) 310 (0.01%) 800 (0.01%)
haskell: 195 (0.00%) 195 (0.00%)
sed: 172 (0.00%)
cs: 72 (0.00%) 72 (0.00%) 72 (0.00%)
ruby: 44 (0.00%) 44 (0.00%)
jsp: 24 (0.00%) 24 (0.00%) 24 (0.00%)
csh: 3 (0.00%) 3 (0.00%) 3 (0.00%)
디스플레이 크기가 증가합니다(단, 시간이 지남에 따라 패키지 크기도 변경된다는 점에 유의하세요).