openjdk-6、openjdk-7、openjdk-8のSLOC数の違いは何ですか?

openjdk-6、openjdk-7、openjdk-8のSLOC数の違いは何ですか?

研究目的で、特定パッケージのSLOC(ソースコード行)数を計算しています。私は何年もの間Debianスナップショットからパッケージソースをダウンロードしています。ほとんどのソフトウェアパッケージでは、SLOCの数値は年々増加します(例:Wireshark)。 2010年のSLOCは2011年より少なくなりましたが、2018年まで増加しました。

ただし、OpenJDK 6、7、8の場合は状況が異なります。openjdk-7SLOC数がopenjdk-6openjdk-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%)

ディスプレイサイズが大きくなります(ただし、時間の経過とともにパッケージサイズも変わることに注意してください)。

関連情報