# Global Metrics

path: .metrics.nom.total
old: 41.0
new: 13.0
path: .metrics.nom.functions
old: 38.0
new: 11.0
path: .metrics.nom.closures
old: 3.0
new: 2.0
path: .metrics.loc.blank
old: 55.0
new: 38.0
path: .metrics.loc.cloc
old: 47.0
new: 20.0
path: .metrics.loc.ploc
old: 381.0
new: 152.0
path: .metrics.loc.sloc
old: 483.0
new: 210.0
path: .metrics.loc.lloc
old: 164.0
new: 53.0
path: .metrics.nexits.average
old: 0.0975609756097561
new: 0.2307692307692308
path: .metrics.nexits.sum
old: 4.0
new: 3.0
path: .metrics.cyclomatic.average
old: 1.3111111111111111
new: 1.4666666666666666
path: .metrics.cyclomatic.sum
old: 59.0
new: 22.0
path: .metrics.nargs.average
old: 1.3658536585365857
new: 1.0769230769230769
path: .metrics.nargs.sum
old: 56.0
new: 14.0
path: .metrics.halstead.bugs
old: 4.120980698714347
new: 1.2125068088868731
path: .metrics.halstead.N2
old: 966.0
new: 320.0
path: .metrics.halstead.effort
old: 1374620.2986789283
new: 219385.62181524857
path: .metrics.halstead.difficulty
old: 79.08771929824562
new: 41.666666666666664
path: .metrics.halstead.level
old: 0.01264418811002662
new: 0.024
path: .metrics.halstead.n1
old: 28.0
new: 25.0
path: .metrics.halstead.time
old: 76367.79437105157
new: 12188.090100847145
path: .metrics.halstead.estimated_program_length
old: 1403.0587178631015
new: 748.2528048135991
path: .metrics.halstead.vocabulary
old: 199.0
new: 121.0
path: .metrics.halstead.length
old: 2276.0
new: 761.0
path: .metrics.halstead.n2
old: 171.0
new: 96.0
path: .metrics.halstead.volume
old: 17380.957636357343
new: 5265.254923565966
path: .metrics.halstead.purity_ratio
old: 0.6164581361437177
new: 0.9832494149981592
path: .metrics.halstead.N1
old: 1310.0
new: 441.0
path: .metrics.mi.mi_sei
old: -37.01696703809223
new: -0.3104004658503605
path: .metrics.mi.mi_original
old: 6.545451625352314
new: 34.758656824356706
path: .metrics.mi.mi_visual_studio
old: 3.827749488510125
new: 20.326699897284623
path: .metrics.cognitive.sum
old: 15.0
new: 8.0
path: .metrics.cognitive.average
old: 0.36585365853658536
new: 0.6153846153846154

# Spaces Data

## Minimal test - lines (24, 25)

path: .spaces[0].spaces[0].metrics.nexits.average
old: null
new: 0.0
path: .spaces[0].spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].spaces[0].metrics.loc.ploc
old: 6.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.sloc
old: 6.0
new: 2.0
path: .spaces[0].spaces[0].metrics.nargs.average
old: null
new: 2.0
path: .spaces[0].spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].spaces[0].metrics.mi.mi_original
old: 117.5188874649111
new: 135.80640507929616
path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: 93.94488402380712
new: 120.32819499625
path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 68.72449559351526
new: 79.41895033876969
path: .spaces[0].spaces[0].metrics.halstead.n2
old: 9.0
new: 8.0
path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 15.0
new: 16.0
path: .spaces[0].spaces[0].metrics.halstead.level
old: 0.3
new: 0.2
path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 1.6310777784188053
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.volume
old: 105.48604608143
new: 96.0
path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 44.039100017307746
new: 48.0
path: .spaces[0].spaces[0].metrics.halstead.N1
old: 17.0
new: 14.0
path: .spaces[0].spaces[0].metrics.halstead.time
old: 19.53445297804259
new: 26.666666666666668
path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 3.3333333333333335
new: 5.0
path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.016605855385633608
new: 0.020434918197161412
path: .spaces[0].spaces[0].metrics.halstead.effort
old: 351.6201536047667
new: 480.0
path: .spaces[0].spaces[0].metrics.halstead.length
old: 27.0
new: 24.0
path: .spaces[0].spaces[0].metrics.halstead.n1
old: 6.0
new: 8.0

### Code

      TestTask(int i, Atomic& aCounter)
          : Runnable("TestThreadPool::Task"), mIndex(i), mCounter(aCounter) {}

## Minimal test - lines (22, 43)

path: .spaces[0].metrics.nexits.average
old: 0.0975609756097561
new: 0.3333333333333333
path: .spaces[0].metrics.nexits.sum
old: 4.0
new: 1.0
path: .spaces[0].metrics.nom.functions
old: 38.0
new: 3.0
path: .spaces[0].metrics.nom.closures
old: 3.0
new: 0.0
path: .spaces[0].metrics.nom.total
old: 41.0
new: 3.0
path: .spaces[0].metrics.cognitive.average
old: 0.36585365853658536
new: 0.0
path: .spaces[0].metrics.cognitive.sum
old: 15.0
new: 0.0
path: .spaces[0].metrics.cyclomatic.sum
old: 58.0
new: 4.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.318181818181818
new: 1.0
path: .spaces[0].metrics.mi.mi_sei
old: -37.67143464961376
new: 50.68551865401571
path: .spaces[0].metrics.mi.mi_visual_studio
old: 4.417745750269697
new: 51.06552741556375
path: .spaces[0].metrics.mi.mi_original
old: 7.554345232961182
new: 87.32205188061403
path: .spaces[0].metrics.nargs.average
old: 1.3658536585365857
new: 0.6666666666666666
path: .spaces[0].metrics.nargs.sum
old: 56.0
new: 2.0
path: .spaces[0].metrics.halstead.n1
old: 28.0
new: 16.0
path: .spaces[0].metrics.halstead.length
old: 2268.0
new: 103.0
path: .spaces[0].metrics.halstead.n2
old: 163.0
new: 21.0
path: .spaces[0].metrics.halstead.volume
old: 17185.608581985078
new: 536.5736966597818
path: .spaces[0].metrics.halstead.vocabulary
old: 191.0
new: 37.0
path: .spaces[0].metrics.halstead.effort
old: 1414069.8300710667
new: 7154.315955463758
path: .spaces[0].metrics.halstead.estimated_program_length
old: 1332.4486269572783
new: 156.23866587835397
path: .spaces[0].metrics.halstead.level
old: 0.01215329555621831
new: 0.075
path: .spaces[0].metrics.halstead.bugs
old: 4.199452270554493
new: 0.12376299843684384
path: .spaces[0].metrics.halstead.N2
old: 958.0
new: 35.0
path: .spaces[0].metrics.halstead.difficulty
old: 82.28220858895706
new: 13.333333333333334
path: .spaces[0].metrics.halstead.time
old: 78559.43500394815
new: 397.46199752576433
path: .spaces[0].metrics.halstead.N1
old: 1310.0
new: 68.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 0.5874993946019745
new: 1.516880251246155
path: .spaces[0].metrics.loc.cloc
old: 37.0
new: 0.0
path: .spaces[0].metrics.loc.lloc
old: 164.0
new: 5.0
path: .spaces[0].metrics.loc.sloc
old: 462.0
new: 22.0
path: .spaces[0].metrics.loc.ploc
old: 372.0
new: 19.0
path: .spaces[0].metrics.loc.blank
old: 53.0
new: 3.0

### Code

    class TestTask final : public Runnable {
     public:
      TestTask(int i, Atomic& aCounter)
          : Runnable("TestThreadPool::Task"), mIndex(i), mCounter(aCounter) {}

      NS_IMETHOD Run() override {
        printf("###(%d) running from thread: %p\n", mIndex,
               (void*)PR_GetCurrentThread());
        int r = (int)((float)rand() * 200 / float(RAND_MAX));
        PR_Sleep(PR_MillisecondsToInterval(r));
        printf("###(%d) exiting from thread: %p\n", mIndex,
               (void*)PR_GetCurrentThread());
        ++mCounter;
        return NS_OK;
      }

     private:
      ~TestTask() = default;

      int mIndex;
      Atomic& mCounter;
    };

## Minimal test - lines (39, 39)

path: .spaces[0].spaces[2].metrics.nom.total
old: 4.0
new: 1.0
path: .spaces[0].spaces[2].metrics.nom.functions
old: 4.0
new: 1.0
path: .spaces[0].spaces[2].metrics.mi.mi_visual_studio
old: 59.44632030188664
new: 91.5288617268536
path: .spaces[0].spaces[2].metrics.mi.mi_original
old: 101.65320771622616
new: 156.51435355291963
path: .spaces[0].spaces[2].metrics.mi.mi_sei
old: 71.46282596766476
new: 150.2034495661308
path: .spaces[0].spaces[2].metrics.cyclomatic.sum
old: 5.0
new: 1.0
path: .spaces[0].spaces[2].metrics.halstead.time
old: 74.66666666666667
new: 2.1541354172676304
path: .spaces[0].spaces[2].metrics.halstead.bugs
old: 0.040595533925441296
new: 0.00381864321284214
path: .spaces[0].spaces[2].metrics.halstead.level
old: 0.125
new: 0.4
path: .spaces[0].spaces[2].metrics.halstead.estimated_program_length
old: 48.0
new: 11.60964047443681
path: .spaces[0].spaces[2].metrics.halstead.purity_ratio
old: 1.1428571428571428
new: 1.9349400790728015
path: .spaces[0].spaces[2].metrics.halstead.vocabulary
old: 16.0
new: 6.0
path: .spaces[0].spaces[2].metrics.halstead.volume
old: 168.0
new: 15.509775004326936
path: .spaces[0].spaces[2].metrics.halstead.N2
old: 16.0
new: 1.0
path: .spaces[0].spaces[2].metrics.halstead.effort
old: 1344.0
new: 38.77443751081734
path: .spaces[0].spaces[2].metrics.halstead.n2
old: 8.0
new: 1.0
path: .spaces[0].spaces[2].metrics.halstead.n1
old: 8.0
new: 5.0
path: .spaces[0].spaces[2].metrics.halstead.difficulty
old: 8.0
new: 2.5
path: .spaces[0].spaces[2].metrics.halstead.N1
old: 26.0
new: 5.0
path: .spaces[0].spaces[2].metrics.halstead.length
old: 42.0
new: 6.0
path: .spaces[0].spaces[2].metrics.nargs.average
old: 0.5
new: 0.0
path: .spaces[0].spaces[2].metrics.nargs.sum
old: 2.0
new: 0.0
path: .spaces[0].spaces[2].metrics.loc.ploc
old: 11.0
new: 1.0
path: .spaces[0].spaces[2].metrics.loc.blank
old: 2.0
new: 0.0
path: .spaces[0].spaces[2].metrics.loc.lloc
old: 2.0
new: 0.0
path: .spaces[0].spaces[2].metrics.loc.sloc
old: 13.0
new: 1.0

### Code

      ~TestTask() = default;

## Minimal test - lines (27, 36)

path: .spaces[0].spaces[1].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[0].spaces[1].metrics.nexits.average
old: 0.0
new: 1.0
path: .spaces[0].spaces[1].metrics.mi.mi_original
old: 112.49163496416077
new: 104.45942039911944
path: .spaces[0].spaces[1].metrics.mi.mi_sei
old: 86.8957314904869
new: 75.1040556513368
path: .spaces[0].spaces[1].metrics.mi.mi_visual_studio
old: 65.78458185038642
new: 61.087380350362245
path: .spaces[0].spaces[1].metrics.nom.total
old: 2.0
new: 1.0
path: .spaces[0].spaces[1].metrics.nom.functions
old: 2.0
new: 1.0
path: .spaces[0].spaces[1].metrics.halstead.vocabulary
old: 13.0
new: 25.0
path: .spaces[0].spaces[1].metrics.halstead.n1
old: 7.0
new: 10.0
path: .spaces[0].spaces[1].metrics.halstead.purity_ratio
old: 1.2557592663832202
new: 1.610923506719323
path: .spaces[0].spaces[1].metrics.halstead.effort
old: 604.4051539630451
new: 1676.4320845086756
path: .spaces[0].spaces[1].metrics.halstead.level
old: 0.17142857142857143
new: 0.15789473684210528
path: .spaces[0].spaces[1].metrics.halstead.difficulty
old: 5.833333333333333
new: 6.333333333333333
path: .spaces[0].spaces[1].metrics.halstead.time
old: 33.57806410905806
new: 93.13511580603752
path: .spaces[0].spaces[1].metrics.halstead.estimated_program_length
old: 35.161259458730164
new: 91.8226398830014
path: .spaces[0].spaces[1].metrics.halstead.bugs
old: 0.02382854463669668
new: 0.047040224739276104
path: .spaces[0].spaces[1].metrics.halstead.volume
old: 103.6123121079506
new: 264.6998028171593
path: .spaces[0].spaces[1].metrics.halstead.N1
old: 18.0
new: 38.0
path: .spaces[0].spaces[1].metrics.halstead.n2
old: 6.0
new: 15.0
path: .spaces[0].spaces[1].metrics.halstead.N2
old: 10.0
new: 19.0
path: .spaces[0].spaces[1].metrics.halstead.length
old: 28.0
new: 57.0
path: .spaces[0].spaces[1].metrics.cyclomatic.sum
old: 3.0
new: 1.0
path: .spaces[0].spaces[1].metrics.loc.sloc
old: 8.0
new: 10.0
path: .spaces[0].spaces[1].metrics.loc.ploc
old: 7.0
new: 10.0
path: .spaces[0].spaces[1].metrics.loc.blank
old: 1.0
new: 0.0
path: .spaces[0].spaces[1].metrics.loc.lloc
old: 0.0
new: 5.0

### Code

      NS_IMETHOD Run() override {
        printf("###(%d) running from thread: %p\n", mIndex,
               (void*)PR_GetCurrentThread());
        int r = (int)((float)rand() * 200 / float(RAND_MAX));
        PR_Sleep(PR_MillisecondsToInterval(r));
        printf("###(%d) exiting from thread: %p\n", mIndex,
               (void*)PR_GetCurrentThread());
        ++mCounter;
        return NS_OK;
      }