[m-dev.] Mercury's "Time to Hello World"
Paul Bone
paul at bone.id.au
Mon Mar 25 23:45:20 AEDT 2013
On Mon, Mar 25, 2013 at 11:10:26PM +1100, Julien Fischer wrote:
> On Mon, Mar 25, 2013 at 10:32 PM, Paul Bone <paul at bone.id.au> wrote:
>
> >> The rationale for the default set of grades is this: it is the set of grades in
> >> most of the useful features and tools that make up Mercury are available, i.e.
> >>
> >> -- support for trailing
> >> -- support for parallelism and threads
> >> -- support for debugging
> >> -- support for declarative debugging
> >> -- support for profiling
> >> -- support for memory profiling
> >> -- support for deep profiling
> >> -- optionally, support for the Java, C# and Erlang backends
> >>
> >
> > I also disagree with this. If you have declative debugging you don't need
> > regular debugging as the former is a feature super-set without additional
> > cost.
>
> Wrong. There *is* an additional cost, although off the top of my head I can't
> remember whether it's program runtime, executable size or both. How much
> that matters to you depend on what you are trying to debug of course.
> (We have discussed merging the decldebug and debug grades in the past
> and the long term intention is that should happen, but I don't think it's
> quite there yet.)
It's a size cost. What I ment to say is that there is no additional runtime
cost, which is what is important (to me).
> > And I'm pretty sure that deep profiling superseeds the other
> > profiling grades.
>
> The design of deep profiling certainly better, but the implementation
> is not quite there yet. For example,
>
> (1) the deep profiler still aborts if a program throws and then catches
> an exception. (You may be familiar with the problem of things not
> handling exceptions properly ;-) )
>
> (2) merging of profiling runs is not currently supported -- it is in mprof.
>
> (3) run the deep profiler as a web service, makes setting it up quite fiddly.
In the long term we should fix these things. For the webservice we can
simply make it easier to include a built in HTTP server.
--
Paul Bone
http://www.bone.id.au
More information about the developers
mailing list