[m-dev.] for discussion: Proposed change to label handling

Tyson Dowd trd at cs.mu.oz.au
Thu Dec 18 18:49:06 AEDT 1997


On 18-Dec-1997, Fergus Henderson <fjh at cs.mu.oz.au> wrote:
> On 15-Dec-1997, Tyson Dowd <trd at cs.mu.oz.au> wrote:
> > 
> > I'm considering making some changes to the default compilation model.
> > 
> > At the moment, internal labels only have local scope, and so are not
> > accessible for stack traces, tracing, accurate gc, etc. So if you want
> > to use any one of those features, you need to have a different grade.
> > And to keep code duplication and complexity down, you'll need a shared
> > grade that does things like make labels available, as well as an
> > individual grade for each feature. This makes for a complex design when
> > handling options and defining grades.
> > 
> > Rather than have the default grade be the "odd one out", it would be
> > much easier to develop and support these features if they were only a
> > slight variation on the standard compilation model.  So I did some
> > measurements to see how feasible this would be.
> 
> I'd like to see measurement of the sizes for libmercury.so
> and of the execution time for "hello world" using shared libraries.

Old
-rw-------   1 trd      mercury  1253376 Dec 15 13:39 libmercury.so
text    data    bss     dec     hex
737280  98304   0       835584  cc000
0.025u 0.034s 0:00.06 83.3%     0+11k 0+0io 0pf+0w
0.029u 0.032s 0:00.07 71.4%     0+11k 0+0io 0pf+0w
0.032u 0.031s 0:00.07 85.7%     0+11k 0+1io 0pf+0w
0.025u 0.034s 0:00.06 83.3%     0+11k 0+0io 0pf+0w
0.020u 0.037s 0:00.06 83.3%     0+11k 0+0io 0pf+0w
0.021u 0.040s 0:00.06 100.0%    0+10k 0+0io 0pf+0w
0.018u 0.044s 0:00.11 45.4%     0+12k 0+0io 0pf+0w
0.033u 0.025s 0:00.06 83.3%     0+10k 0+0io 0pf+0w

New
-rw-------   1 trd      mercury  1613824 Dec 15 17:24 libmercury.so
text    data    bss     dec     hex
802816  147456  34848   985120  f0820
0.018u 0.041s 0:00.14 35.7%     0+11k 0+1io 0pf+0w
0.016u 0.041s 0:00.13 38.4%     0+11k 0+0io 0pf+0w
0.016u 0.041s 0:00.16 31.2%     0+11k 0+0io 0pf+0w
0.023u 0.037s 0:00.13 38.4%     0+11k 0+0io 0pf+0w
0.027u 0.028s 0:00.06 66.6%     1+14k 0+1io 0pf+0w
0.024u 0.032s 0:00.06 83.3%     0+11k 0+1io 0pf+0w
0.033u 0.037s 0:00.07 85.7%     0+11k 0+1io 0pf+0w

I can't see any real difference between the two in timing. 

-- 
       Tyson Dowd           # If I'm unusually agressive in this email, it's
                            # probably because USENET has been down here for
     trd at cs.mu.oz.au        # over a week, and I'm missing my usual dosage
http://www.cs.mu.oz.au/~trd # of flamewars. My apologies in advance.



More information about the developers mailing list