Here's some interesting project growth perspective.  I finally finished 
updating our enumeration script to reflect the changes to the build system and 
file layout since moving to CMake.  There were a variety of reasons why this 
was needed, but the result is a particularly interesting comparison with the 
state of our code from 8 years ago.

The file lists and tabulations are ever so slightly different, so care has to 
be taken when comparing the numbers (e.g., header counts are now just credited 
towards app or lib code), but the results are still interesting for big-picture 
comparison purposes:

sushi:brlcad.trunk morrison$ sh/enumerate.sh 
*****************************************
** BRL-CAD PROJECT ENUMERATION SUMMARY **
*****************************************
BRL-CAD Version: 7.25.0
Enumeration Run: Tue Jul  1 01:04:57 EDT 2014

Included below are various project enumeration statistics for BRL-CAD.
The format/output of this script is subject to change without notice.
Please contact d...@brlcad.org if there are any questions or comments.

Now processing, please wait...

-----------------------------------------
--       FILESYSTEM ORGANIZATION       --
-----------------------------------------
    287 BRL-CAD Directories
   5285 BRL-CAD Files
           2598 BRL-CAD Data Files
           2687 BRL-CAD Source Files
    704 3rd Party Directories
   9047 3rd Party Files
           3648 3rd Party Data Files
           5399 3rd Party Source Files

-----------------------------------------
--        COMPILATION PRODUCTS         --
-----------------------------------------
     26 BRL-CAD Libraries
    451 BRL-CAD Applications
            360 Installed
             91 Not Installed

-----------------------------------------
--          LINE COUNT TOTALS          --
-----------------------------------------
  32013 Build Infrastructure w/ws+=3306
 224456 Documentation w/ws+=27024
 367842 Scripts w/ws+=22423
 298710 Application Sources w/ws+=49267
 446938 Library Sources w/ws+=78264
-----------------------------------------
 180284 BRL-CAD Blank (ws) Lines 
2146742 3rd Party Code w/ws+=240818
-----------------------------------------
3937803 BRL-CAD Repository Total
1550243 BRL-CAD Sources w/ Spaces
1369959 BRL-CAD Source Code Total
=========================================

The basic summary is that we've eliminated a few apps and added a ton of unit 
tests (~75) and lots of library code (20% increase, +73k).  The build system 
and docs increased a bit (70% @ +13k and 13% @ 26k respectively) along with 
scripting code (15% increase, +48k).  The biggest growth was 3rd party code, 
which has more than doubled (143% increase, +1.3M).

Overall, our source code has gone from 1.2M lines of code to nearly 1.4M with 
our core compiled sources going from ~656k to ~746k (14% increase, +90k).

Cheers!
Sean



On Aug 15, 2006, at 5:56 AM, Christopher Sean Morrison wrote:

> A week or so ago I was yet again confronted with the question of "how big is 
> BRL-CAD?" and found myself once again writing the variety of find statements 
> and custom shell script hacking in order to answer that relatively simple 
> question.  This question periodically comes up and is often summarized by 
> some generalized metric like the number of installed applications or how many 
> lines of source code.  So this time, I decided to compute lots of different 
> enumerations and then put all of the counting into a script that could be 
> reused and called upon on-demand.
> 
> Just shy of a million lines of source code if you don't count blank lines or 
> just over if you do, I found myself breaking the numbers down even more and 
> asking even more questions.  For example I was then curious to know how much 
> of that is library code, how big is the documentation in comparison, etc.  
> The result looks something like this:
> 
> *****************************************
> ** BRL-CAD PROJECT ENUMERATION SUMMARY **
> *****************************************
> Tue Aug 15 05:48:59 EDT 2006
> 
> Included below are various project enumeration statistics for BRL-CAD.
> The format/output of this script is subject to change without notice.
> Please contact d...@brlcad.org if there are any questions or comments.
> 
> Now processing, please wait...
> 
> -----------------------------------------
> --        COMPILATION PRODUCTS         --
> -----------------------------------------
>     26 BRL-CAD Libraries
>             22 Installed
>              4 Not Installed
>    380 BRL-CAD Applications
>            365 Installed
>             15 Not Installed
>     25 3rd Party Installed Libraries
>     66 3rd Party Installed Applications
> 
> -----------------------------------------
> --       FILESYSTEM ORGANIZATION       --
> -----------------------------------------
>   2099 BRL-CAD Files
>    501 BRL-CAD Directories
>   1237 3rd Party Files
>    295 3rd Party Directories
> 
> -----------------------------------------
> --          LINE COUNT TOTALS          --
> -----------------------------------------
> 1193497 BRL-CAD Project Total
>         198919 Documentation
>          18761 Build Infrastructure
>         975817 Source Code
>                  81098 Header
>                 894719 Non-Header
>                         282456 Library Code
>                         293100 Application Code
>                         319163 Scripts
> 104252 Blank Lines (not counted above)
> 884951 3rd Party Code (not counted above)
> =========================================
> 
> 
> This new script will be included in the next release iteration as the 
> sh/enumerate.sh in the source distribution of BRL-CAD for anyone interested 
> in playing with it some more.
> 
> Cheers!
> Sean
> 

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to