[m-dev.] Refactoring mdbcomp/feedback.m

Paul Bone pbone at csse.unimelb.edu.au
Wed Aug 4 21:44:16 AEST 2010

Hi Guys.

Just a FYI, let me know if there are any issues with this proposed refactoring.

I've removed all the auto-parallelism specific code from mdbcomp/feedback.m
(module mdbcomp.feedback) and created a new file called
mdbcomp/feedback.automatic_parallelism.m (the module is

Any future uses of the feedback framework should add a new module called
mdbcomp.feedback.<new name>.  Note that only structures and a small amount of
code shared between the mdprof_feedback tool and the profiler is actually
included here.  The analysis code for generating feedback information is stored
in deep_profiler/mdprof_fb.<module>

Splitting the feedback.m file up like this gives the following amount of code
in the two files (in LoC).

  549 feedback.m
  334 feedback.automatic_parallelism.m

After compiling to C in the asm_fast.gc grade the sizes of these modules become
(in lines of C code):

  3656 mdbcomp.feedback.c
  3225 mdbcomp.feedback.automatic_parallelism.c

The sizes of the object files on an amd64 host are:

   text    data     bss     dec     hex filename
  15691       0      12   15703    3d57 mdbcomp.feedback.o
  13246       0      12   13258    33ca mdbcomp.feedback.automatic_parallelism.o

Of course it's more important that the feedback.m file was split in a way that
makes sense from a modularity perspective.  The sizes of the modules are only
provided so that anyone reading this can get an idea of how large the code in
each file is.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/developers/attachments/20100804/7615d48f/attachment.sig>

More information about the developers mailing list