Some FreeCAD development stats

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Give me 72h, I'm ~11000 km away from my linux box
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Some FreeCAD development stats

Post by Jee-Bee »

PrzemoF wrote: Wed Apr 18, 2018 4:36 pm Give me 72h, I'm ~11000 km away from my linux box
There were 7 months between last update... i can wait these few ours too :P
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:387
src/Mod/Fem:126
src/Mod/Sketcher:52
src/Mod/TechDraw:50
src/Mod/Path:47
src/Mod/Arch:33
src/Mod/Draft:32
src/Mod/PartDesign:29
src/Mod/Part:18
src/Mod/Import:10
src/Mod/Spreadsheet:8
src/Mod/Test:7
src/Mod/Start:7
src/Mod/Points:7
src/Mod/AddonManager:7
src/Mod/Ship:6
src/Mod/OpenSCAD:6
src/Mod/Mesh:6
src/Mod/Tux:4
src/Mod/Surface:4
src/Mod/Robot:4
src/Mod/ReverseEngineering:4
src/Mod/Raytracing:4
src/Mod/Web:3
src/Mod/Sandbox:3
src/Mod/Plot:3
src/Mod/MeshPart:3
src/Mod/JtReader:3
src/Mod/Image:3
src/Mod/Cam:3
src/Mod/Assembly:3
src/Mod/Material:2
src/Mod/Drawing:2
src/Mod/TemplatePyMod:1
src/Mod/Show:0
src/Mod/Measure:0
src/Mod/Inspection:0
src/Mod/Idf:0
src/Mod/Complete:0
fedora:/home/przemo/software/FreeCAD/freecad
$ ./stats.sh 
src/Mod/                    +381603,  -126326
src/Mod/TechDraw            +72086,   -5454
src/Mod/Draft               +54322,   -36097
src/Mod/Path                +49535,   -30699
src/Mod/Sketcher            +41739,   -10307
src/Mod/Arch                +41034,   -24158
src/Mod/Fem                 +29074,   -4998
src/Mod/Part                +28418,   -4425
src/Mod/PartDesign          +23208,   -5380
src/Mod/Mesh                +6481,    -358
src/Mod/Drawing             +4818,    -457
src/Mod/Robot               +4326,    -66
src/Mod/Ship                +3271,    -347
src/Mod/Raytracing          +2611,    -209
src/Mod/Spreadsheet         +2609,    -150
src/Mod/Start               +2179,    -206
src/Mod/Plot                +2001,    -153
src/Mod/Points              +1984,    -808
src/Mod/Assembly            +1920,    -44
src/Mod/OpenSCAD            +1745,    -290
src/Mod/ReverseEngineering  +1536,    -144
src/Mod/MeshPart            +1520,    -143
src/Mod/Web                 +1353,    -223
src/Mod/Image               +1206,    -286
src/Mod/Tux                 +1185,    -686
src/Mod/Import              +749,     -54
src/Mod/Test                +557,     -56
src/Mod/AddonManager        +47,      -32
src/Mod/Surface             +37,      -6
src/Mod/Sandbox             +33,      -33
src/Mod/Cam                 +6,       -6
src/Mod/JtReader            +5,       -43
src/Mod/TemplatePyMod       +4,       -4
src/Mod/Material            +4,       -4
src/Mod/Show                +0,       -0
src/Mod/Measure             +0,       -0
src/Mod/Inspection          +0,       -0
src/Mod/Idf                 +0,       -0
src/Mod/Complete            +0,       -0
P.S. I'm sorry for the unplanned delay, but our all carbon fiber dreamliner had some technical problems and the flight was canceled.
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:480
src/Mod/Path:92
src/Mod/Fem:74
src/Mod/Arch:70
src/Mod/Sketcher:63
src/Mod/Draft:47
src/Mod/TechDraw:45
src/Mod/Import:33
src/Mod/Material:27
src/Mod/Part:14
src/Mod/PartDesign:13
src/Mod/MeshPart:13
src/Mod/Mesh:9
src/Mod/Image:7
src/Mod/Show:6
src/Mod/Test:5
src/Mod/OpenSCAD:3
src/Mod/Assembly:3
src/Mod/AddonManager:3
src/Mod/Spreadsheet:2
src/Mod/Robot:2
src/Mod/Drawing:2
src/Mod/Sandbox:1
src/Mod/Raytracing:1
src/Mod/Points:1
src/Mod/Measure:1
src/Mod/JtReader:1
src/Mod/Cam:1
src/Mod/Web:0
src/Mod/Tux:0
src/Mod/TemplatePyMod:0
src/Mod/Surface:0
src/Mod/Start:0
src/Mod/Ship:0
src/Mod/ReverseEngineering:0
src/Mod/Plot:0
src/Mod/Inspection:0
src/Mod/Idf:0
src/Mod/Complete:0
fedora:/home/przemo/software/FreeCAD/freecad
$ ./stats.sh 
src/Mod/                    +40283,  -14258
src/Mod/Arch                +8708,   -2296
src/Mod/Path                +8525,   -3140
src/Mod/Import              +8060,   -2222
src/Mod/Sketcher            +3466,   -1018
src/Mod/Fem                 +2905,   -2772
src/Mod/TechDraw            +2172,   -504
src/Mod/Draft               +2035,   -469
src/Mod/Image               +1614,   -253
src/Mod/Material            +475,    -984
src/Mod/Mesh                +469,    -63
src/Mod/Show                +457,    -63
src/Mod/MeshPart            +457,    -137
src/Mod/AddonManager        +283,    -145
src/Mod/Part                +282,    -74
src/Mod/PartDesign          +172,    -41
src/Mod/Test                +61,     -14
src/Mod/Assembly            +58,     -25
src/Mod/OpenSCAD            +16,     -9
src/Mod/Drawing             +14,     -4
src/Mod/Points              +13,     -0
src/Mod/Raytracing          +11,     -11
src/Mod/JtReader            +9,      -0
src/Mod/Measure             +8,      -3
src/Mod/Spreadsheet         +7,      -7
src/Mod/Robot               +4,      -2
src/Mod/Sandbox             +1,      -1
src/Mod/Cam                 +1,      -1
src/Mod/Web                 +0,      -0
src/Mod/Tux                 +0,      -0
src/Mod/TemplatePyMod       +0,      -0
src/Mod/Surface             +0,      -0
src/Mod/Start               +0,      -0
src/Mod/Ship                +0,      -0
src/Mod/ReverseEngineering  +0,      -0
src/Mod/Plot                +0,      -0
src/Mod/Inspection          +0,      -0
src/Mod/Idf                 +0,      -0
src/Mod/Complete            +0,      -0
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Number of commits and number of line changes in last 3 months:

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:687
src/Mod/Path:202
src/Mod/Fem:108
src/Mod/Arch:76
src/Mod/Sketcher:52
src/Mod/Part:49
src/Mod/TechDraw:41
src/Mod/Draft:37
src/Mod/PartDesign:35
src/Mod/Mesh:32
src/Mod/Start:20
src/Mod/Import:20
src/Mod/Material:14
src/Mod/Spreadsheet:10
src/Mod/Points:9
src/Mod/Test:7
src/Mod/AddonManager:7
src/Mod/Robot:6
src/Mod/Raytracing:6
src/Mod/MeshPart:5
src/Mod/Assembly:5
src/Mod/Web:4
src/Mod/Surface:4
src/Mod/Image:4
src/Mod/Drawing:4
src/Mod/Sandbox:3
src/Mod/OpenSCAD:3
src/Mod/Ship:2
src/Mod/Measure:2
src/Mod/JtReader:2
src/Mod/Inspection:2
src/Mod/Cam:2
src/Mod/Show:1
src/Mod/ReverseEngineering:1
src/Mod/Plot:1
src/Mod/Tux:0
src/Mod/TemplatePyMod:0
src/Mod/Idf:0
src/Mod/Complete:0
fedora:/home/przemo/software/FreeCAD/freecad
$ ./stats.sh 
src/Mod/                    +50260,  -20675
src/Mod/Path                +22646,  -8139
src/Mod/Arch                +5206,   -1728
src/Mod/Sketcher            +3816,   -695
src/Mod/Import              +3681,   -2056
src/Mod/Start               +3537,   -2282
src/Mod/TechDraw            +3113,   -1583
src/Mod/Mesh                +1787,   -599
src/Mod/Part                +1551,   -344
src/Mod/Fem                 +1539,   -1252
src/Mod/PartDesign          +1102,   -639
src/Mod/Draft               +514,    -391
src/Mod/Material            +218,    -39
src/Mod/Points              +202,    -60
src/Mod/Surface             +183,    -54
src/Mod/Spreadsheet         +155,    -69
src/Mod/Robot               +123,    -104
src/Mod/MeshPart            +120,    -60
src/Mod/Test                +119,    -151
src/Mod/Raytracing          +95,     -60
src/Mod/AddonManager        +84,     -41
src/Mod/Assembly            +78,     -37
src/Mod/Drawing             +65,     -75
src/Mod/Web                 +48,     -23
src/Mod/Cam                 +41,     -41
src/Mod/OpenSCAD            +40,     -28
src/Mod/Image               +39,     -26
src/Mod/Sandbox             +33,     -17
src/Mod/Inspection          +33,     -17
src/Mod/ReverseEngineering  +27,     -21
src/Mod/Ship                +19,     -14
src/Mod/JtReader            +19,     -7
src/Mod/Measure             +14,     -14
src/Mod/Plot                +12,     -8
src/Mod/Show                +1,      -1
src/Mod/Tux                 +0,      -0
src/Mod/TemplatePyMod       +0,      -0
src/Mod/Idf                 +0,      -0
src/Mod/Complete            +0,      -0
Number of line changes since tag 0.17 (more or less since the last stable release):

Code: Select all

src/Mod/                    +79986,  -31033 <-- almost 50k new lines, I guess it means tons of improvements  :D 
src/Mod/Path                +24396,  -9218
src/Mod/Arch                +10934,  -2816
src/Mod/Import              +9103,   -2851
src/Mod/Sketcher            +7028,   -1524
src/Mod/TechDraw            +5487,   -2789
src/Mod/Fem                 +4463,   -4032
src/Mod/Start               +3541,   -2285
src/Mod/MeshPart            +2890,   -404
src/Mod/Draft               +2628,   -762
src/Mod/Part                +1959,   -562
src/Mod/Mesh                +1878,   -645
src/Mod/Image               +1647,   -276
src/Mod/PartDesign          +1179,   -677
src/Mod/Material            +488,    -991
src/Mod/Show                +458,    -64
src/Mod/AddonManager        +384,    -197
src/Mod/Points              +205,    -61
src/Mod/Spreadsheet         +187,    -91
src/Mod/Surface             +184,    -54
src/Mod/Test                +180,    -165
src/Mod/Robot               +129,    -110
src/Mod/Raytracing          +106,    -71
src/Mod/Assembly            +81,     -40
src/Mod/Drawing             +75,     -75
src/Mod/Ship                +68,     -63
src/Mod/OpenSCAD            +59,     -40
src/Mod/Web                 +48,     -23
src/Mod/Cam                 +48,     -48
src/Mod/Sandbox             +37,     -21
src/Mod/Inspection          +33,     -17
src/Mod/ReverseEngineering  +27,     -21
src/Mod/JtReader            +19,     -7
src/Mod/Plot                +17,     -13
src/Mod/Measure             +14,     -14
src/Mod/TemplatePyMod       +5,      -5
src/Mod/Idf                 +1,      -1
src/Mod/Tux                 +0,      -0
src/Mod/Complete            +0,      -0
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Number of commits and number of line changes in last 3 months:

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:539
src/Mod/Fem:123
src/Mod/Arch:86
src/Mod/Draft:67
src/Mod/Part:55
src/Mod/Sketcher:52
src/Mod/Path:44
src/Mod/TechDraw:43
src/Mod/Start:18
src/Mod/Mesh:18
src/Mod/PartDesign:17
src/Mod/AddonManager:12
src/Mod/OpenSCAD:11
src/Mod/Test:10
src/Mod/Spreadsheet:9
src/Mod/Material:7
src/Mod/Import:6
src/Mod/Web:5
src/Mod/Drawing:5
src/Mod/Points:4
src/Mod/Assembly:4
src/Mod/Ship:3
src/Mod/Sandbox:3
src/Mod/Robot:3
src/Mod/Raytracing:3
src/Mod/Image:3
src/Mod/Plot:2
src/Mod/MeshPart:2
src/Mod/Inspection:2
src/Mod/Tux:1
src/Mod/TemplatePyMod:1
src/Mod/Show:1
src/Mod/ReverseEngineering:1
src/Mod/Measure:1
src/Mod/Cam:1
src/Mod/Surface:0
src/Mod/JtReader:0
src/Mod/Idf:0
src/Mod/Complete:0
Number of line changes since tag 0.17 (more or less since the last stable release):

Code: Select all

$ ./stats_since_0.17.sh
src/Mod/                    +446903,  -235829 <-- ~211k of "new" (*) lines
src/Mod/Part                +80386,   -55507
src/Mod/Arch                +76695,   -37189
src/Mod/Draft               +62097,   -47406
src/Mod/Path                +59929,   -24832
src/Mod/Sketcher            +40605,   -12164
src/Mod/TechDraw            +30695,   -18074
src/Mod/Fem                 +21057,   -11227
src/Mod/Mesh                +12818,   -1494
src/Mod/PartDesign          +11769,   -3054
src/Mod/Import              +9138,    -2875
src/Mod/Start               +8847,    -11921
src/Mod/MeshPart            +4961,    -862
src/Mod/Drawing             +3329,    -1391
src/Mod/Raytracing          +3295,    -1554
src/Mod/Image               +2847,    -342
src/Mod/Robot               +2630,    -296
src/Mod/OpenSCAD            +2181,    -1422
src/Mod/Ship                +1834,    -367
src/Mod/Test                +1760,    -309
src/Mod/Assembly            +1434,    -161
src/Mod/Spreadsheet         +1432,    -242
src/Mod/Web                 +1228,    -377
src/Mod/Material            +1207,    -1384
src/Mod/Plot                +1072,    -144
src/Mod/Points              +1049,    -257
src/Mod/AddonManager        +837,     -477
src/Mod/ReverseEngineering  +656,     -140
src/Mod/Show                +459,     -65
src/Mod/Tux                 +271,     -75
src/Mod/Surface             +184,     -54
src/Mod/Cam                 +60,      -60
src/Mod/Sandbox             +49,      -34
src/Mod/Inspection          +35,      -20
src/Mod/Measure             +28,      -29
src/Mod/JtReader            +19,      -7
src/Mod/TemplatePyMod       +7,       -14
src/Mod/Idf                 +1,       -1
src/Mod/Complete            +0,       -0
(*) one line changed 5 times will count as 5 "new" lines

Code: Select all

$ cat ./stats_since_0.17.sh
#!/bin/bash

MODS=$(find src/Mod/ -maxdepth 1 -type d)
>stats
for MOD in $MODS
do
   echo -n $MOD >> stats
   git log --numstat --pretty="%H" "0.17..HEAD" $MOD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf(" +%d, -%d\n", plus, minus)}' >> stats
done
cat stats | sort -k2 -t+ -n -r | column -t
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Some FreeCAD development stats

Post by bernd »

would it be possible to print the developer stats for release 0.18 only. Means from 0.17 to 0.18 ?

cheers bernd
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Some FreeCAD development stats

Post by bernd »

release statistic of 0.18

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since "2018-04-06" [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:2214
src/Mod/Fem:470
src/Mod/Path:348
src/Mod/Arch:261
src/Mod/Sketcher:205
src/Mod/Draft:200
src/Mod/Part:188
src/Mod/TechDraw:179
src/Mod/Material:116
src/Mod/PartDesign:100
src/Mod/Mesh:76
src/Mod/Import:68
src/Mod/Start:61
src/Mod/MeshPart:40
src/Mod/Test:38
src/Mod/Spreadsheet:36
src/Mod/AddonManager:27
src/Mod/Image:24
src/Mod/Raytracing:23
src/Mod/Points:23
src/Mod/OpenSCAD:21
src/Mod/Web:20
src/Mod/Robot:19
src/Mod/Drawing:19
src/Mod/Assembly:18
src/Mod/Ship:11
src/Mod/ReverseEngineering:11
src/Mod/Sandbox:9
src/Mod/Show:8
src/Mod/Tux:7
src/Mod/Surface:7
src/Mod/Plot:6
src/Mod/Cam:5
src/Mod/TemplatePyMod:4
src/Mod/Inspection:4
src/Mod/Measure:3
src/Mod/JtReader:3
src/Mod/Idf:1
src/Mod/Complete:0
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

I'm sorry I missed your previous post! Looks like FEM is in the top spot :D
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Some FreeCAD development stats

Post by bernd »

PrzemoF wrote: Wed Mar 27, 2019 7:58 am I'm sorry I missed your previous post! Looks like FEM is in the top spot :D
I am just taking commit history very very serious and I do rebase very often. This only works if commits are very well written. I learnt from some Polish guy :mrgreen: :D
Post Reply