Bump up.
On Tuesday, July 5, 2016 at 6:46:58 PM UTC+1, [email protected] wrote: > > Thanks, Tim. The reason I can't run specific lines from the test file is > that the test needs to call module B first to get something which will be > passed as argument to a function in module A and it is this function that > I'm testing. Here is what it looks like: > > Module A: > module A > import B > function f(p) > ... > B.g() > ... > end > end > > > > Module B: > module B > function g() > ... > return p > end > end > > test file: > > import A, B > p = B.g() > A.f(p) > > > I want to see how many times B.g() is called by A only or how much the > computation of B.g() is triggered by module A/A.f() only, instead of by A > and the test. Hope that I have made my point clear. > > > > > On Tuesday, July 5, 2016 at 3:43:16 PM UTC+1, Tim Holy wrote: >> >> Ah. Can't you just run specific lines from that test file? You could even >> copy >> it and then delete the irrelevant lines using an editor, if you need to >> run >> many tests. >> >> --Tim >> >> On Tuesday, July 5, 2016 7:03:07 AM CDT [email protected] wrote: >> > 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! >> >> >>
