On Wed, Nov 19, 2025 at 03:21:33PM -0500, Tom Lane wrote:
> Bruce Momjian <[email protected]> writes:
> > While working on a talk, I studied the number of code line changes in
> > each major release, and found PG 17 surprisingly reduced code line count
> > by 10%. To get the code line count, I used /pgtop/src/tools/codelines,
> > which runs:
>
> > find . -name '*.[chyl]' | xargs cat| wc -l
>
> > Any ideas on the cause of this decrease?
>
> My first thought was that it had to do with the conversion of
> src/backend/nodes/ to be largely auto-generated code. If you
> are using codelines against just what is in git, that would look
> like a decrease. However, I see that came in during v16 not v17,
> so that's not the explanation. I'm betting it's some similar
> effect though: code getting moved out of the set of files that
> will match '*.[chyl]'.
Huh.
> Also ... are you in fact counting only what is in git? Because
> I get different answers:
>
> $ git clean -dfxq
> $ git checkout REL_17_0
> HEAD is now at d7ec59a63d7 Stamp 17.0.
> $ src/tools/codelines
> 1664472
> $ git checkout REL_16_0
> HEAD is now at c372fbbd8e9 Doc: fix release date in release-16.sgml.
> $ src/tools/codelines
> 1595197
No, I just followed the shell comment I wrote above the 'find' command
shown above:
# This script is used to compute the total number of "C" lines in the
# release This should be run from the top of the Git tree after a 'make
# distclean'
And that tree has been built many times. Should I change my procedure?
--
Bruce Momjian <[email protected]> https://momjian.us
EDB https://enterprisedb.com
Do not let urgent matters crowd out time for investment in the future.