Automatic Rewriting

100% CPU - 8 cores

Automatic rewriting uses as much CPU as you can throw at it… a full automatic rewriting pass takes about an hour on this 8-core machine.

Atom Feed for Comments 8 Responses to “Automatic Rewriting”

  1. Dennis Says:

    Hi Benjamin,
    Is there anywhere I could view/browse those rewritten pieces of source code?
    Thanks.

  2. Christopher Blizzard Says:

    An infinite number of monkeys require processor time.

  3. David Naylor Says:

    Here’s a stupid question forya: What are you rewriting?

  4. Flackrum Says:

    And once again, CPU6 is being a slacker. *shakes head*

  5. Benjamin Smedberg Says:

    David, I am doing the XPCOMGC rewrites. There are three rewrites in the series:

    * garburator implemented using oink/elsa
    * GCObject inheritance implemented using dehydra and text processing
    * remove-addrefs implemented using text processing

    A single script runs these three all in a row without human intervention. If you want to see an example of the results, see the three “automatic-*” files from a previous revision. Caution: the patches are almost 200k lines, 20+MB a piece.

    For more information about Mozilla’s automatic rewriting projects in general, see Taras and David Mandelin‘s blogs, and the mozilla.dev.static-analysis newsgroup.

  6. Adam Guthrie Says:

    Just curious, but can you apply the patches and compile and run the build or is the MMgc stuff not set up yet?

  7. fredrik (irc: nossralf) Says:

    I wonder how this load would run on a Sun UltraSPARC T2 box. Say a dual socket 1.4GHz rig. That gives you 128 threads at 8 cores/socket and 8 threads/core. Seeing as how the load is probably memory and integer intensive only, the fit would probably be pretty good.

  8. Matthew Gertner Says:

    An hour for a full rewriting pass… and how long to fry an egg on that box?

Leave a Reply