I think there is a penalty (albeit a lesser one) with -g even if OCAMLRUNPARAM does not contain "b". Raising an exception from OCaml code causes a function call, which it does not otherwise.
Mark On 14 March 2016 at 08:14, whitequark <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> >>>> 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 _______________________________________________ Platform mailing list [email protected] http://lists.ocaml.org/listinfo/platform
