[ocaml-platform] [Caml-list] Package compilation and debug mode

whitequark whitequark at whitequark.org
Mon Mar 14 07:53:20 GMT 2016


On 2016-03-14 10:19, Mark Shinwell wrote:
> There is a performance penalty with -g: it makes the raising of
> exceptions slower (due to recording of backtraces).   I think that may
> be the only difference at present, though I'm not completely sure.

This penalty is only present with OCAMLRUNPARAM=b, which is now on by
default. This is a good thing, because lack of backtraces is something
100% of newcomers trip over; and anyone who dislikes the penalty
can trivially turn it off.

However, -g also inhibits some optimizations along with adding debug 
info.
So it is still not free.

IMO there should be another option, something like -debug-info, that is
equivalent to -g but does not inhibit any optimizations. Then it would
be enabled by default.

> 
> Mark
> 
> On 13 March 2016 at 19:16, Ivan Gotovchits <ivg at ieee.org> wrote:
>> It looks like, that currently the `-g` option has no performance cost 
>> at all (correct me if I’m wrong). Presumably, there is some increase 
>> in the package size, but who cares. With these premises, I think it 
>> would be a good policy to distribute packages with `-g` flag enabled.
>> 
>>> On Mar 12, 2016, at 4:35 PM, Daniel Bünzli 
>>> <daniel.buenzli at erratique.ch> wrote:
>>> 
>>> Hello,
>>> 
>>> I'd like to know what the consensus is about distributing packages 
>>> that always compile in debug mode. It seems that some persons do want 
>>> to have debug always enabled [1,2], but the discussion is not clear 
>>> cut [1].
>>> 
>>> By default all my packages are released with -g disabled. It seems 
>>> easy enough to have an opam switch (even the official one) that 
>>> automatically enables the flag.
>>> 
>>> So I think OCaml's opam repository should have a policy here. The 
>>> answer should also take system package managers into account since 
>>> those pull directly from the tarballs (if this document [3] is still 
>>> in use for debian it seems they do require compilation with debug 
>>> mode).
>>> 
>>> Personally I don't have an opinion about it, I'm rather seeking an 
>>> answer here.
>>> 
>>> Best,
>>> 
>>> Daniel
>>> 
>>> [1] http://caml.inria.fr/mantis/view.php?id=6728
>>> [2] http://rgrinberg.com/blog/2016/02/26/opam-package-checklist/
>>> [3] 
>>> http://pkg-ocaml-maint.alioth.debian.org/ocaml_packaging_policy.html/c305.html#AEN307
>>> 
>>> 
>>> 
>>> --
>>> Caml-list mailing list.  Subscription management and archives:
>>> https://sympa.inria.fr/sympa/arc/caml-list
>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>>> Bug reports: http://caml.inria.fr/bin/caml-bugs
>> 
>> 
>> --
>> Caml-list mailing list.  Subscription management and archives:
>> https://sympa.inria.fr/sympa/arc/caml-list
>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>> Bug reports: http://caml.inria.fr/bin/caml-bugs

-- 
whitequark


More information about the Platform mailing list