Diferença em openjdk-6, openjdk-7 e openjdk-8 em termos de contagem de SLOC?

1

Estou calculando a contagem de SLOC (Source Lines of Code) de alguns dos pacotes para meus propósitos de pesquisa. Estou baixando fonte de pacotes para anos diferentes dos snapshots do Debian. Para a maioria dos pacotes, a contagem de SLOC aumenta com o ano, como para o Wireshark em 2010 o SLOC é menor que 2011, é mais e continua aumentando até 2018.

Mas para o OpenJDK 6, 7 e 8, é diferente. openjdk-7 tem uma contagem de SLOC menor que openjdk-6 . openjdk-8 tem uma contagem de SLOC menor que openjdk-7 . Por que é tão?

Existe algum problema nos instantâneos do Debian? Talvez a fonte completa não esteja disponível, ou é assim em geral para este pacote?

    
por Hazel 02.09.2018 / 22:36

1 resposta

3

Se você observar o conteúdo dos pacotes de código-fonte do OpenJDK, verá que a maior parte do código-fonte deles é enviada dentro de tarballs dentro dos pacotes. Se você executar o SLOCCount de David A. Wheeler somente na fonte do pacote extraído, ele não contará o código nesses tarballs, então você terá uma contagem muito parcial.

Para comparar corretamente os tamanhos do código-fonte, você precisará extrair os tarballs antes de executar sloccount . Isso faz com que as seguintes estatísticas (nas versões analisadas):

            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%)

mostrando um aumento no tamanho (note, no entanto, que o escopo dos pacotes também mudou com o tempo).

    
por 02.09.2018 / 23:09