Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-29 Thread Matthew Flatt
At Thu, 28 Oct 2010 10:48:43 -0700, John Clements wrote:
 I took a look at the size of our C code base (all files ending in .c, .h, 
 .cpp, and .cxx, not including those with 'xsrc' in the path) to see how much 
 smaller gracket2 is, and (assuming I didn't miss something major) the 
 difference is truly impressive.  The below is ... | wc | sort -n | tail, so 
 it's just the 9 biggest and the total from each.
 
 So, if I'm reading this correctly, we've gone from ~590K lines of C to about 
 ~340K lines of C. That's amazing.

In one way, you undercounted: .cc was used for about 55k lines of C++
code.

At the same time, it's overcounting to include the libpng, libjpeg,
etc. sources that we have in our repo for convenience. GRacket2 still
depends on those libraries, but it either uses the versions that you
have installed or uses binaries that are downloaded during a build.

I would break it down like this:

 C  C++ that we   C  C++ included   Total
 maintain [*]  for convenience [**]

 GRacket1   455k190k   645k
 GRacket2   252k 85k   337k

   * Racket run-time:  227k  (including 15k for GCs)
 GUI (gr1 only):   197k
 MysX, MzCom, SrP:  25k

  ** Image parsers (gr1 only): 105k
 Boehm GC and libffi:   85k

Overall, GRacket2 replaces about 200k lines of C and C++ (on top of Xt,
Win32, and Carbon) with about 30k lines of Racket code (on top of Gtk,
Win32, and Cocoa) plus Cairo and Pango.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-29 Thread Robby Findler
Go, Matthew! :) Slay the evil beast.

Robby

On Fri, Oct 29, 2010 at 9:07 AM, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Thu, 28 Oct 2010 10:48:43 -0700, John Clements wrote:
 I took a look at the size of our C code base (all files ending in .c, .h,
 .cpp, and .cxx, not including those with 'xsrc' in the path) to see how much
 smaller gracket2 is, and (assuming I didn't miss something major) the
 difference is truly impressive.  The below is ... | wc | sort -n | tail, so
 it's just the 9 biggest and the total from each.

 So, if I'm reading this correctly, we've gone from ~590K lines of C to about
 ~340K lines of C. That's amazing.

 In one way, you undercounted: .cc was used for about 55k lines of C++
 code.

 At the same time, it's overcounting to include the libpng, libjpeg,
 etc. sources that we have in our repo for convenience. GRacket2 still
 depends on those libraries, but it either uses the versions that you
 have installed or uses binaries that are downloaded during a build.

 I would break it down like this:

             C  C++ that we       C  C++ included       Total
             maintain [*]          for convenience [**]

  GRacket1           455k                190k               645k
  GRacket2           252k                 85k               337k

   * Racket run-time:  227k  (including 15k for GCs)
     GUI (gr1 only):   197k
     MysX, MzCom, SrP:  25k

  ** Image parsers (gr1 only): 105k
     Boehm GC and libffi:       85k

 Overall, GRacket2 replaces about 200k lines of C and C++ (on top of Xt,
 Win32, and Carbon) with about 30k lines of Racket code (on top of Gtk,
 Win32, and Cocoa) plus Cairo and Pango.

 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread Joe Marshall
On Thu, Oct 28, 2010 at 10:48 AM, John Clements
cleme...@brinckerhoff.org wrote:

 So, if I'm reading this correctly, we've gone from ~590K lines of C to about 
 ~340K lines of C. That's amazing.

Something is wrong.  In your listing, the only two lines that have changed are
these:
   8404   22017  233781 ./racket/src/thread.c
   9132   24942  230277 ./racket/src/port.c

from the original:
   8380   21961  233205 ./racket/src/thread.c
   9123   24924  230059 ./racket/src/port.c

Which seems to be a difference of 33 lines.  I don't see where the
590K to 340K is coming from.

-- 
~jrm
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread Jay McCarthy
That's tail -9 so he's dropped all the other things.

Jay

On Thu, Oct 28, 2010 at 11:58 AM, Joe Marshall jmarsh...@alum.mit.edu wrote:
 On Thu, Oct 28, 2010 at 10:48 AM, John Clements
 cleme...@brinckerhoff.org wrote:

 So, if I'm reading this correctly, we've gone from ~590K lines of C to about 
 ~340K lines of C. That's amazing.

 Something is wrong.  In your listing, the only two lines that have changed are
 these:
   8404   22017  233781 ./racket/src/thread.c
   9132   24942  230277 ./racket/src/port.c

 from the original:
   8380   21961  233205 ./racket/src/thread.c
   9123   24924  230059 ./racket/src/port.c

 Which seems to be a difference of 33 lines.  I don't see where the
 590K to 340K is coming from.

 --
 ~jrm
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev




-- 
Jay McCarthy j...@cs.byu.edu
Assistant Professor / Brigham Young University
http://teammccarthy.org/jay

The glory of God is Intelligence - DC 93
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread namekuseijin
On Thu, Oct 28, 2010 at 3:48 PM, John Clements
cleme...@brinckerhoff.org wrote:
 So, if I'm reading this correctly, we've gone from ~590K lines of C to about 
 ~340K lines of C. That's amazing.

hope that doesn't mean more obfuscated C code, though... :p
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread Carl Eastlund
On Thu, Oct 28, 2010 at 2:12 PM, namekuseijin namekusei...@gmail.com wrote:
 On Thu, Oct 28, 2010 at 3:48 PM, John Clements
 cleme...@brinckerhoff.org wrote:
 So, if I'm reading this correctly, we've gone from ~590K lines of C to about 
 ~340K lines of C. That's amazing.

 hope that doesn't mean more obfuscated C code, though... :p

Unfortunately, it does.  It's all hidden under layers of parentheses
and strange names with characters like - and ? in them.
Completely unreadable.  Not a curly brace in sight, and I think it
just ignores all the semicolons.

--Carl
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread namekuseijin
On Thu, Oct 28, 2010 at 4:56 PM, Carl Eastlund c...@ccs.neu.edu wrote:
 On Thu, Oct 28, 2010 at 2:12 PM, namekuseijin namekusei...@gmail.com wrote:
 On Thu, Oct 28, 2010 at 3:48 PM, John Clements
 cleme...@brinckerhoff.org wrote:
 So, if I'm reading this correctly, we've gone from ~590K lines of C to 
 about ~340K lines of C. That's amazing.

 hope that doesn't mean more obfuscated C code, though... :p

 Unfortunately, it does.  It's all hidden under layers of parentheses
 and strange names with characters like - and ? in them.
 Completely unreadable.  Not a curly brace in sight, and I think it
 just ignores all the semicolons.

sounds like Greenspun's Tenth Rule... ;)
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] relative lines of C in gracket vs. gracket2

2010-10-28 Thread Robby Findler
Conveniently, however, it isn't the broken one that we used here. Whew.

Robby

On Thu, Oct 28, 2010 at 2:56 PM, namekuseijin namekusei...@gmail.com wrote:
 On Thu, Oct 28, 2010 at 4:56 PM, Carl Eastlund c...@ccs.neu.edu wrote:
 On Thu, Oct 28, 2010 at 2:12 PM, namekuseijin namekusei...@gmail.com wrote:
 On Thu, Oct 28, 2010 at 3:48 PM, John Clements
 cleme...@brinckerhoff.org wrote:
 So, if I'm reading this correctly, we've gone from ~590K lines of C to 
 about ~340K lines of C. That's amazing.

 hope that doesn't mean more obfuscated C code, though... :p

 Unfortunately, it does.  It's all hidden under layers of parentheses
 and strange names with characters like - and ? in them.
 Completely unreadable.  Not a curly brace in sight, and I think it
 just ignores all the semicolons.

 sounds like Greenspun's Tenth Rule... ;)
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev