When I cvs up'd, cleared and reConfigure'd I got these stats:

Failed Test         Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/library/streams.t    1   256    21    1   4.76%  11
t/op/gc.t              1   256    18    1   5.56%  13
4 tests and 66 subtests skipped.
Failed 2/124 test scripts, 98.39% okay. 2/1957 subtests failed, 99.90% okay.



> I'm curious to see how it behaves once the spilling gets up into the
> 1000+ symbol range. Dropping from cubic to quadratic time ought to
> make a not-insignificant change in the running time, even if that
> constant's pretty big. :)

I think it's a bit more complicated.  M=number lines in code, N=number
variables.
- Time = O(M^2+N^2)  
- old time = O(M^2 +N^3)
Not quite sure of this either.  But the N^3 eventually dominates, I
think.  The data seems to bear this out.

There are more fixes I'd like to make as well.  I spotted several
things that could be fixed.  And I think the spill code can be
optimized a lot to reduce the big-O time as well.

More statistics #vars v. time in seconds: 
#vars  gcc  parrot2
200   7.92   89.20
201   11.86   146.31
202   18.11   246.37
203   9.54   107.88
204   11.81   134.60
205   14.75   190.95
206   13.25   161.83
207   10.63   138.83
208   11.02   117.73
209   7.14   88.29
210   15.14   176.69

I am also running gen3.pl with 1000 vars.  It's still on gcc.  We'll
see if parrot doesn't crash my 1Gigabyte, 2.4Ghz workstation tonight.

> >Would you like a patch?
> 
> Yes! Oh, yeah, definitely.
> [...]
> If you've got a patch, I'd be more than happy to give it a whirl, and
> I can likely get you a copy of the code in question to give a run on.

Soon, I'll send one the proper way.


> > The
> >imc_reg_alloc function does not have 32 hard coded in there (well a
> >little bit, but can be easily changed).  It's pretty dynamic.
> By all means, go for it. I certainly don't want to curb your
> enthusiasm. It's the right thing to do, ultimately. I didn't want to
> presume on your time. Happy to have it, of course. :)

Thanks.  I've had a great time doing this.  Remembering graph
algorithms and compilers.  Great fun!  I'd also like to contribute to
getting Parrot out there, sooner rather than later.  So if I can help
with that, I'd like to hear suggestions.

-Bill

Reply via email to