openjdk-6, openjdk-7 및 openjdk-8의 SLOC 수 차이는 무엇입니까?

openjdk-6, openjdk-7 및 openjdk-8의 SLOC 수 차이는 무엇입니까?

연구 목적으로 특정 패키지의 SLOC(소스 코드 줄) 수를 계산하고 있습니다. 나는 여러 해 동안 데비안 스냅샷에서 패키지 소스를 다운로드하고 있습니다. 대부분의 소프트웨어 패키지의 경우 SLOC 수치는 해마다 증가합니다(예: Wireshark). 2010년의 SLOC는 2011년보다 적었지만 2018년까지 증가했습니다.

그러나 OpenJDK 6, 7, 8의 경우 상황이 다릅니다. openjdk-7SLOC 수가 openjdk-6. openjdk-8SLOC 수가 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%)

디스플레이 크기가 증가합니다(단, 시간이 지남에 따라 패키지 크기도 변경된다는 점에 유의하세요).

관련 정보