Tim, Thanks. The problem is this: I wrote a module A and made a test to test module A. But both of module A and the test itself need to call another module B frequently. I want to see how A is calling B and don't care how the test is calling B. That's why I want to separate the profiling of module A from that of both. This way I can easily the profiling via julia> Profile.print(format=:flat, sortedby=:count)
Sorry for my dumb question. On Tuesday, July 5, 2016 at 12:49:37 PM UTC+1, Tim Holy wrote: > > I don't know what "profiling a module" means. You profile running code, > wherever > that code happens to live---and that's all there is to say. To profile the > code > in a module, you just have to write code that exercises the functions in > the > module. > > The meaning of the numbers is described here: > http://docs.julialang.org/en/stable/manual/profile/#basic-usage > The key words are "sampling profiler," the meaning of which is described > at the > top of that page (and see the wikipedia link). The number of samples is > approximately proportional to the cost of the line (or its descendents). > > Best, > --Tim > > On Tuesday, July 5, 2016 4:40:32 AM CDT [email protected] <javascript:> > wrote: > > Bump up. > > > > On Monday, July 4, 2016 at 4:33:53 PM UTC+1, [email protected] wrote: > > > I want to profile a module which is tested by a test. Following the > > > documentation ( > > > > http://docs.julialang.org/en/release-0.4/manual/profile/#options-for-contr > > > olling-the-display-of-profile-results), I know how to profile them > (module > > > + test) together: > > > > > > @profile include("test.jl") > > > > > > > > > But I have no idea for how to do the profiling only for the module. > > > > > > A second question is about the first number of each line in profiler's > > > output. For example, the output from Julia Documentation: > > > > > > julia> Profile.print() > > > > > > 23 client.jl; _start; line: 373 > > > > > > 23 client.jl; run_repl; line: 166 > > > > > > 23 client.jl; eval_user_input; line: 91 > > > > > > 23 profile.jl; anonymous; line: 14 > > > > > > 8 none; myfunc; line: 2 > > > > > > 8 dSFMT.jl; dsfmt_gv_fill_array_close_open!; line: > 128 > > > > > > 15 none; myfunc; line: 3 > > > > > > 2 reduce.jl; max; line: 35 > > > 2 reduce.jl; max; line: 36 > > > 11 reduce.jl; max; line: 37 > > > > > > Is it appropriate to interpret the numbers 23, 8, 15, etc as the > number of > > > times the line is run or the time has been spent (relatively) on that > > > line? > > > > > > > > > I searched the group and there is no threads with a similar topic. Any > > > comments? Thanks! > > >
