Re: [racket-dev] relative lines of C in gracket vs. gracket2
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
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
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
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
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
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
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
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