Running the Gauntlet with Flog

| | Comments (7)

Not terribly pretty yet (not on the web at least)... but here are the latest numbers for all the latest gems. The changes are pretty impressive since the last time.

Statistics:

total # gems      :     3591
total # methods   :   537600
avg methods / gem :   149.71 (  452.41 stddev)
avg flog / gem    :  2229.32 ( 7052.78 stddev)

Worst Projects EVAR:

  1. 189611.49: radiant-0.6.9 Some Lazy Bastard
  2. 182436.26: antfarm-0.4.0 Michael Berg and Bryan Richardson
  3. 155598.22: onebody-0.3.0 Tim Morgan
  4. 101777.67: tzinfo-0.3.12 Philip Ross
  5. 85101.77: virtuozzo-0.7.0 James Thompson
  6. 67628.75: spree-0.5.0 Sean Schofield
  7. 64256.12: ebay-1.1 Garry Dolley
  8. 60650.46: mack-active_record-0.8.2 markbates
  9. 56741.77: bio-1.2.1 BioRuby project
  10. 52738.95: voruby-2.0.0 David Gasson

Worth Methods EVAR:

  1. 15537.78: dicom-0.3 Dictionary#load_tags
  2. 3685.09: buildr-1.3.3 define#foo
  3. 2753.05: egor-0.0.2 CLI#execute
  4. 2109.63: ruby-aes-unroll1-1.1 AesAlg#encryptblock
  5. 2109.63: ruby-aes-unroll1-1.1 AesAlg#decryptblock
  6. 2060.67: ruby-aes-unroll2-1.1 AesAlg#decryptblock
  7. 2060.67: ruby-aes-unroll2-1.1 AesAlg#encryptblock
  8. 2032.63: mspec-1.5.1 before#each
  9. 1735.86: librmpd-0.1.1 MPDTestServer#do_cmd
  10. 1696.90: dicom-0.3 Dictionary#load_uid

Top 10 Methods per Gem:

  1. radiant-0.6.9 : 14299 methods, 326.10 +/- 313.66 flog
  2. antfarm-0.4.0 : 10987 methods, 600.61 +/- 82.99 flog
  3. onebody-0.3.0 : 10424 methods, 393.64 +/- 205.12 flog
  4. spree-0.5.0 : 5537 methods, 225.91 +/- 335.51 flog
  5. actionpack-2.2.2 : 4245 methods, 164.54 +/- 72.59 flog
  6. pictrails-0.5.0 : 4171 methods, 176.82 +/- 287.05 flog
  7. bio-1.2.1 : 3841 methods, 254.21 +/- 155.95 flog
  8. mack-0.8.2 : 3760 methods, 169.37 +/- 204.39 flog
  9. eactionpack-2.1.2: 3672 methods, 169.76 +/- 78.54 flog
  10. voruby-2.0.0 : 3535 methods, 241.79 +/- 178.75 flog

Top 10 Avg Flog / Method:

  1. dicom-0.3 : 47 methods, 937.98 +/- 3368.30 flog
  2. tzinfo-0.3.12 : 1184 methods, 744.42 +/- 236.60 flog
  3. virtuozzo-0.7.0 : 627 methods, 636.66 +/- 186.17 flog
  4. antfarm-0.4.0 : 10987 methods, 600.61 +/- 82.99 flog
  5. mack-active_record-0.8.2: 2140 methods, 592.01 +/- 85.82 flog
  6. activesupport-2.2.2 : 1072 methods, 581.74 +/- 87.32 flog
  7. buildr-1.3.3 : 2200 methods, 402.77 +/- 767.14 flog
  8. onebody-0.3.0 : 10424 methods, 393.64 +/- 205.12 flog
  9. librmpd-0.1.1 : 205 methods, 334.55 +/- 395.86 flog
  10. radiant-0.6.9 : 14299 methods, 326.10 +/- 313.66 flog

Top Flog Scores per Developer:

  1. Michael Berg and Bryan Richardson: 1 projects 182436.3 tot 182436.3 avg
  2. Tim Morgan : 1 projects 155598.2 tot 155598.2 avg
  3. Philip Ross : 1 projects 101777.7 tot 101777.7 avg
  4. Garry Dolley : 1 projects 64256.1 tot 64256.1 avg
  5. James Thompson : 2 projects 85255.1 tot 42627.5 avg
  6. BioRuby project : 2 projects 84963.6 tot 42481.8 avg
  7. Sean Schofield : 2 projects 80834.0 tot 40417.0 avg
  8. Eric Duminil : 1 projects 37740.0 tot 37740.0 avg
  9. Tom Gilbert : 1 projects 37316.0 tot 37316.0 avg
  10. NAKAMURA : 2 projects 50003.2 tot 25001.6 avg

Most Prolific Developers:

  1. Aaron Pfeifer : 56 projects 43514.7 tot 777.0 avg
  2. Daniel J. Berger: 52 projects 27850.6 tot 535.6 avg
  3. Eric Hodel : 48 projects 100247.3 tot 2088.5 avg
  4. Ara T. Howard : 44 projects 53087.0 tot 1206.5 avg
  5. markbates : 32 projects 144178.9 tot 4505.6 avg
  6. Ryan Davis : 28 projects 69109.3 tot 2468.2 avg
  7. Erik Hollensbe : 23 projects 17069.5 tot 742.2 avg
  8. Dr Nic Williams : 21 projects 42229.7 tot 2010.9 avg
  9. James Healy : 19 projects 18111.2 tot 953.2 avg
  10. John Mettraux : 18 projects 50969.5 tot 2831.6 avg

7 Comments

I'm that "Some Lazy Bastard" on Radiant (thanks, smartass). Did you take into consideration that Radiant packages most of its dependencies? Excluding dependencies, I get:

Total Flog = 14779.9 (10.8 +/- 921.0 flog / method)

With dependencies:

Total Flog = 189823.3 (12.4 +/- 4593.3 flog / method)

no, I don't special case anything. I measure any and all .rb files I get from a package.

besides, you should be using gem dependencies properly in the first place. you can specify "= 1.2.3" in the gemspec's dependency and it'll stick.

OneBody used to vendor Rails, back when I was using Edge Rails. Besides, 0.3.0 is at least six months old (ancient history), where did you find it?

Just to set the record straight, current OneBody (release 0.8.0 -- at least 6 releases beyond the version you tested) gets this score: Total Flog = 27043.4 (15.5 +/- 1262.3 flog / method)

Much better I'd say.

Gauntlet tests all real gems. Gems released on github are not used since it is not the canonical source of gems. You've got onebody 0.3.0 sitting on rubyforge.org. If you don't want people using it, it shouldn't be there.

No, it hasn't been on Rubyforge for over six months. I added a blank 0.3.0 gem last night after finding that some of Rubyforge's mirrors hadn't removed it. Is it possible you grabbed gems from a mirror that hadn't cleaned up?

Really, I promise, 0.3.0 hasn't been on Rubyforge for a looooong time.

Sorry to litter your comments, but I think this may be an issue with Rubyforge... I see "gem list -r" shows release 0.2.2, which I removed earlier this year as well. I will get on it.

I appreciate your dedication to pointing out awful people in the Ruby community... I just don't think I've worked my way up to that yet. :-)

Leave a comment

About this Entry

This page contains a single entry by zenspider published on December 4, 2008 3:31 PM.

gauntlet version 1.0.0 has been released! was the previous entry in this blog.

200thish Seattle.rb Meeting! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.32-en