amzn / differential-privacy-bayesian-optimization
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 3,580 units with 54,254 lines of code in units (75.2% of code).
    • 35 very long units (5,460 lines of code)
    • 143 long units (9,907 lines of code)
    • 589 medium size units (18,068 lines of code)
    • 740 small units (10,916 lines of code)
    • 2,073 very small units (9,903 lines of code)
10% | 18% | 33% | 20% | 18%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py5% | 16% | 35% | 22% | 19%
cpp38% | 28% | 18% | 5% | 8%
pyx25% | 22% | 29% | 12% | 10%
pxi23% | 29% | 14% | 19% | 12%
c0% | 11% | 15% | 30% | 42%
h0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
experiments/output_perturbation10% | 18% | 33% | 19% | 18%
dpareto/models0% | 16% | 25% | 42% | 15%
dpareto/hypervolume_improvement0% | 0% | 38% | 28% | 33%
experiments/adult0% | 0% | 67% | 33% | 0%
dpareto/random_sampling0% | 0% | 57% | 29% | 12%
dpareto/grid_search0% | 0% | 60% | 25% | 14%
experiments/mnist0% | 0% | 51% | 48% | 0%
experiments/scripts0% | 0% | 17% | 49% | 33%
dpareto/utils0% | 0% | 0% | 51% | 48%
dpareto/optimizers0% | 0% | 0% | 35% | 64%
data/adult0% | 0% | 0% | 100% | 0%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
static int solve_l1r_lr()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
309 59 6
def _lars_path_solver()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/least_angle.py
247 51 10
static int solve_l1r_l2_svc()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
236 44 6
void Solver::Solve()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/libsvm/svm.cpp
222 43 10
pyx
def sag64()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/sag_fast.pyx
216 67 33
pyx
def sag32()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/sag_fast.pyx
216 67 33
def fit()
in experiments/output_perturbation/scikit-learn/sklearn/tree/tree.py
208 63 6
def fit()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/logistic.py
187 29 4
int Solver_MCSVM_CS::Solve()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
185 44 1
pyx
def _plain_proj_sgd()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/proj_sgd_fast.pyx
184 58 35
static int solve_l2r_l1l2_svr()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
174 35 5
pyx
def _plain_sgd()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/sgd_fast.pyx
173 51 34
static int solve_l2r_l1l2_svc()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
163 29 7
def _logistic_regression_path()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/logistic.py
157 47 20
def fit()
in experiments/output_perturbation/scikit-learn/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py
156 31 3
def locally_linear_embedding()
in experiments/output_perturbation/scikit-learn/sklearn/manifold/locally_linear.py
153 9 12
pyx
def sparse_enet_coordinate_descent()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/cd_fast.pyx
151 41 20
def fit()
in experiments/output_perturbation/scikit-learn/sklearn/linear_model/ransac.py
151 42 4
def plot_partial_dependence()
in experiments/output_perturbation/scikit-learn/sklearn/inspection/partial_dependence.py
140 41 10
int solve_l2r_lr_dual()
in experiments/output_perturbation/scikit-learn/sklearn/svm/src/liblinear/linear.cpp
135 24 6