caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Automated Instrumentation for Profiling
@ 2015-10-14  7:44 Kenneth Adam Miller
  2015-10-14  7:59 ` Kenneth Adam Miller
  2015-10-14  8:11 ` Gabriel Scherer
  0 siblings, 2 replies; 6+ messages in thread
From: Kenneth Adam Miller @ 2015-10-14  7:44 UTC (permalink / raw)
  To: caml users

[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]

So, I'm looking to do some performance profiling of some libraries and
tools. I would like some tools that are more language facilitated than an
alternative of using something like oprofile because while oprofile is
good, you can only guess at what is consuming the most time in your actual
ocaml source because all the function names have been lost by that time.

I found ocamlviz, and that seems pretty good, but I'm looking for something
else because we plan to move away from using camlp4 toward ppx. Introducing
this will mean an additional hurdle to overcome once the transition is
complete in terms of customizing the build chain twice.

In any case, I guess what I'd really like to know is:

1) How good are the ocamlcp and ocamloptp tools and how would you get a
vanilla oasis/ocamlbuild combo to easily start using them instead?

2) Are there any ppx based profiling tools out there? I need both memory
and time profiling to be done. OCamlviz was great because it had a graph-I
don't necessarily need a dedicated gui, but some way to visualize the data
would be very helpful.

[-- Attachment #2: Type: text/html, Size: 1220 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Automated Instrumentation for Profiling
  2015-10-14  7:44 [Caml-list] Automated Instrumentation for Profiling Kenneth Adam Miller
@ 2015-10-14  7:59 ` Kenneth Adam Miller
  2015-10-14  8:04   ` Francois Berenger
  2015-10-14  8:11 ` Gabriel Scherer
  1 sibling, 1 reply; 6+ messages in thread
From: Kenneth Adam Miller @ 2015-10-14  7:59 UTC (permalink / raw)
  To: caml users

[-- Attachment #1: Type: text/plain, Size: 1780 bytes --]

Actually, I asked that question a bit prematurely, but any answers to
number 2 are still welcome-I'd like to know about any and all options.


For the record, for number 1, you can get the associated profiling with a
vanilla ocamlbuild/oasis setup without any hairy plugin by doing:
ocaml setup.ml <options options options> -tag profile

From there, just executing your program like normal will have it poop out a
little gmon.out that you can work with with gprof. As far as how good it
is, it's as good as gprof/gmon because that's what it is behind the scenes.

On Wed, Oct 14, 2015 at 3:44 AM, Kenneth Adam Miller <
kennethadammiller@gmail.com> wrote:

> So, I'm looking to do some performance profiling of some libraries and
> tools. I would like some tools that are more language facilitated than an
> alternative of using something like oprofile because while oprofile is
> good, you can only guess at what is consuming the most time in your actual
> ocaml source because all the function names have been lost by that time.
>
> I found ocamlviz, and that seems pretty good, but I'm looking for
> something else because we plan to move away from using camlp4 toward ppx.
> Introducing this will mean an additional hurdle to overcome once the
> transition is complete in terms of customizing the build chain twice.
>
> In any case, I guess what I'd really like to know is:
>
> 1) How good are the ocamlcp and ocamloptp tools and how would you get a
> vanilla oasis/ocamlbuild combo to easily start using them instead?
>
> 2) Are there any ppx based profiling tools out there? I need both memory
> and time profiling to be done. OCamlviz was great because it had a graph-I
> don't necessarily need a dedicated gui, but some way to visualize the data
> would be very helpful.
>

[-- Attachment #2: Type: text/html, Size: 2297 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Automated Instrumentation for Profiling
  2015-10-14  7:59 ` Kenneth Adam Miller
@ 2015-10-14  8:04   ` Francois Berenger
  0 siblings, 0 replies; 6+ messages in thread
From: Francois Berenger @ 2015-10-14  8:04 UTC (permalink / raw)
  To: caml-list

On 10/14/2015 09:59 AM, Kenneth Adam Miller wrote:
> Actually, I asked that question a bit prematurely, but any answers to
> number 2 are still welcome-I'd like to know about any and all options.

Personally, I used the Linux perf tools in the past.
I like them because they don't force you to recompile your software.

perf record [program invocation] # to profile your program
perf report -g # to read the report

> For the record, for number 1, you can get the associated profiling with
> a vanilla ocamlbuild/oasis setup without any hairy plugin by doing:
> ocaml setup.ml <http://setup.ml> <options options options> -tag profile
>
>  From there, just executing your program like normal will have it poop
> out a little gmon.out that you can work with with gprof. As far as how
> good it is, it's as good as gprof/gmon because that's what it is behind
> the scenes.
>
> On Wed, Oct 14, 2015 at 3:44 AM, Kenneth Adam Miller
> <kennethadammiller@gmail.com <mailto:kennethadammiller@gmail.com>> wrote:
>
>     So, I'm looking to do some performance profiling of some libraries
>     and tools. I would like some tools that are more language
>     facilitated than an alternative of using something like oprofile
>     because while oprofile is good, you can only guess at what is
>     consuming the most time in your actual ocaml source because all the
>     function names have been lost by that time.
>
>     I found ocamlviz, and that seems pretty good, but I'm looking for
>     something else because we plan to move away from using camlp4 toward
>     ppx. Introducing this will mean an additional hurdle to overcome
>     once the transition is complete in terms of customizing the build
>     chain twice.
>
>     In any case, I guess what I'd really like to know is:
>
>     1) How good are the ocamlcp and ocamloptp tools and how would you
>     get a vanilla oasis/ocamlbuild combo to easily start using them instead?
>
>     2) Are there any ppx based profiling tools out there? I need both
>     memory and time profiling to be done. OCamlviz was great because it
>     had a graph-I don't necessarily need a dedicated gui, but some way
>     to visualize the data would be very helpful.
>
>

-- 
Regards,
Francois.
"When in doubt, use more types"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Automated Instrumentation for Profiling
  2015-10-14  7:44 [Caml-list] Automated Instrumentation for Profiling Kenneth Adam Miller
  2015-10-14  7:59 ` Kenneth Adam Miller
@ 2015-10-14  8:11 ` Gabriel Scherer
  2015-10-14  8:25   ` Kenneth Adam Miller
  1 sibling, 1 reply; 6+ messages in thread
From: Gabriel Scherer @ 2015-10-14  8:11 UTC (permalink / raw)
  To: Kenneth Adam Miller; +Cc: caml users

Have you considered porting ocamlviz to ppx?

On Wed, Oct 14, 2015 at 9:44 AM, Kenneth Adam Miller
<kennethadammiller@gmail.com> wrote:
> So, I'm looking to do some performance profiling of some libraries and
> tools. I would like some tools that are more language facilitated than an
> alternative of using something like oprofile because while oprofile is good,
> you can only guess at what is consuming the most time in your actual ocaml
> source because all the function names have been lost by that time.
>
> I found ocamlviz, and that seems pretty good, but I'm looking for something
> else because we plan to move away from using camlp4 toward ppx. Introducing
> this will mean an additional hurdle to overcome once the transition is
> complete in terms of customizing the build chain twice.
>
> In any case, I guess what I'd really like to know is:
>
> 1) How good are the ocamlcp and ocamloptp tools and how would you get a
> vanilla oasis/ocamlbuild combo to easily start using them instead?
>
> 2) Are there any ppx based profiling tools out there? I need both memory and
> time profiling to be done. OCamlviz was great because it had a graph-I don't
> necessarily need a dedicated gui, but some way to visualize the data would
> be very helpful.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Automated Instrumentation for Profiling
  2015-10-14  8:11 ` Gabriel Scherer
@ 2015-10-14  8:25   ` Kenneth Adam Miller
  2015-10-14  8:33     ` Kenneth Adam Miller
  0 siblings, 1 reply; 6+ messages in thread
From: Kenneth Adam Miller @ 2015-10-14  8:25 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 2349 bytes --]

That sounds like it would definitely be a good benefit to the community and
I'd be really happy to do it. I know that ppx is the successor to camlp4,
and I have a mind to teach myself the sort of magic where I can annotate a
type with some code generating function because I appreciate the power.

But right now, my extra curricular work is just ridiculously over loaded.
In my free time I'm teaching myself Coq, compiler construction with llvm,
taking a coursera course working on a shingled disassembler, working on an
ocamljava backend for ctypes and a ocaml link to CZMQ. I love what I do -
coding and learning all day long - but I have human limits, and I just
don't think I would be able to pick it up for probably 6-8 months. Possibly
something else will come along before then, whether that be even more
compelling challenges or that ocamlviz is seconded by something better.

So, I really honestly would, but I don't think I can. :(

On Wed, Oct 14, 2015 at 4:11 AM, Gabriel Scherer <gabriel.scherer@gmail.com>
wrote:

> Have you considered porting ocamlviz to ppx?
>
> On Wed, Oct 14, 2015 at 9:44 AM, Kenneth Adam Miller
> <kennethadammiller@gmail.com> wrote:
> > So, I'm looking to do some performance profiling of some libraries and
> > tools. I would like some tools that are more language facilitated than an
> > alternative of using something like oprofile because while oprofile is
> good,
> > you can only guess at what is consuming the most time in your actual
> ocaml
> > source because all the function names have been lost by that time.
> >
> > I found ocamlviz, and that seems pretty good, but I'm looking for
> something
> > else because we plan to move away from using camlp4 toward ppx.
> Introducing
> > this will mean an additional hurdle to overcome once the transition is
> > complete in terms of customizing the build chain twice.
> >
> > In any case, I guess what I'd really like to know is:
> >
> > 1) How good are the ocamlcp and ocamloptp tools and how would you get a
> > vanilla oasis/ocamlbuild combo to easily start using them instead?
> >
> > 2) Are there any ppx based profiling tools out there? I need both memory
> and
> > time profiling to be done. OCamlviz was great because it had a graph-I
> don't
> > necessarily need a dedicated gui, but some way to visualize the data
> would
> > be very helpful.
>

[-- Attachment #2: Type: text/html, Size: 2931 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Automated Instrumentation for Profiling
  2015-10-14  8:25   ` Kenneth Adam Miller
@ 2015-10-14  8:33     ` Kenneth Adam Miller
  0 siblings, 0 replies; 6+ messages in thread
From: Kenneth Adam Miller @ 2015-10-14  8:33 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 2789 bytes --]

Oh wait! There's a source rewriter that myself literally used just two days
ago that can eliminate camlp4 instances in favor of ppx. Lol, I should have
remembered this *facepalm*. Yeah, so the complexity of such an undertaking
just dropped significantly in my perception

On Wed, Oct 14, 2015 at 4:25 AM, Kenneth Adam Miller <
kennethadammiller@gmail.com> wrote:

> That sounds like it would definitely be a good benefit to the community
> and I'd be really happy to do it. I know that ppx is the successor to
> camlp4, and I have a mind to teach myself the sort of magic where I can
> annotate a type with some code generating function because I appreciate the
> power.
>
> But right now, my extra curricular work is just ridiculously over loaded.
> In my free time I'm teaching myself Coq, compiler construction with llvm,
> taking a coursera course working on a shingled disassembler, working on an
> ocamljava backend for ctypes and a ocaml link to CZMQ. I love what I do -
> coding and learning all day long - but I have human limits, and I just
> don't think I would be able to pick it up for probably 6-8 months. Possibly
> something else will come along before then, whether that be even more
> compelling challenges or that ocamlviz is seconded by something better.
>
> So, I really honestly would, but I don't think I can. :(
>
> On Wed, Oct 14, 2015 at 4:11 AM, Gabriel Scherer <
> gabriel.scherer@gmail.com> wrote:
>
>> Have you considered porting ocamlviz to ppx?
>>
>> On Wed, Oct 14, 2015 at 9:44 AM, Kenneth Adam Miller
>> <kennethadammiller@gmail.com> wrote:
>> > So, I'm looking to do some performance profiling of some libraries and
>> > tools. I would like some tools that are more language facilitated than
>> an
>> > alternative of using something like oprofile because while oprofile is
>> good,
>> > you can only guess at what is consuming the most time in your actual
>> ocaml
>> > source because all the function names have been lost by that time.
>> >
>> > I found ocamlviz, and that seems pretty good, but I'm looking for
>> something
>> > else because we plan to move away from using camlp4 toward ppx.
>> Introducing
>> > this will mean an additional hurdle to overcome once the transition is
>> > complete in terms of customizing the build chain twice.
>> >
>> > In any case, I guess what I'd really like to know is:
>> >
>> > 1) How good are the ocamlcp and ocamloptp tools and how would you get a
>> > vanilla oasis/ocamlbuild combo to easily start using them instead?
>> >
>> > 2) Are there any ppx based profiling tools out there? I need both
>> memory and
>> > time profiling to be done. OCamlviz was great because it had a graph-I
>> don't
>> > necessarily need a dedicated gui, but some way to visualize the data
>> would
>> > be very helpful.
>>
>
>

[-- Attachment #2: Type: text/html, Size: 3640 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-10-14  8:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-14  7:44 [Caml-list] Automated Instrumentation for Profiling Kenneth Adam Miller
2015-10-14  7:59 ` Kenneth Adam Miller
2015-10-14  8:04   ` Francois Berenger
2015-10-14  8:11 ` Gabriel Scherer
2015-10-14  8:25   ` Kenneth Adam Miller
2015-10-14  8:33     ` Kenneth Adam Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).