David,

Thanks for your reply to my post about linking errors. You were quite right.
I have now rebuilt everything on 5.8.2 and have reproduced the problem
I was trying to investigate. My user was trying to create an executable
to run a specific function in an extension of ProofPower as a stand-alone
program rather than via the ProofPower read-eval-print loop. He was surprised
that executable is much bigger than the saved state that the read-eval-print
loop loads. Here are the sizes I got.

-rw-r--r--  1 rda  staff  44217560 Nov 25 19:06 main1.o
-rwxr-xr-x  1 rda  staff  33928480 Nov 25 19:07 main1
-rw-r--r--  1 rda  staff  24260472 Nov 25 19:10 saved_state

Here main1.o is the result of calling PolyML.export, main1 is the executable
and saved_state is the result of calling PolyML.Compiler.saveState.

He is seeing even bigger differences (possibly because he is compiling
on Windows?). The question remains though: why is the .o file much
bigger than the executable and why is the executable much bigger than
the saved state? Can we do anything to reduce the size of the executable.
(We are both calling PolyML.shareCommonData on the entry point function
beforecalling PolyML.export.)

Regards,

Rob.
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to