# Profiling from Mathematica

I've always wished I could do some profiling like you get in Wolfram Workbench, but directly from Mathematica, without using or having Workbench. If it is possible, how can I do it?

-
Related question. – Leonid Shifrin Jul 1 '12 at 20:10
I love the Please help me! part – Dr. belisarius Jul 1 '12 at 20:23
also related stackoverflow.com/questions/4721171/… – Dr. belisarius Jul 1 '12 at 20:24
A shame the Please help me! has been removed from the original post. – Wizard Jul 9 '15 at 11:14

You can put your Mathematica session in debug mode by going to Evaluation->Debugger

Then, make some definitions and wrap the profiled code in RuntimeToolsProfile

For example, in debug mode, run

f[x_] := x^2

Table[f[x], {100000}]; // RuntimeToolsProfile


and you get a nice

As @acl mentioned in the comments, clicking in the gray area in the output notebook's lines takes you to the related code

-
Any idea, why test[] := Module[{}, Print["Here"]; Pause[0.1]; Print["There"]; Pause[1]; Return[2]] and test[] // RuntimeToolsProfile does not work, even though your example works correctly? – Ajasja Jul 2 '12 at 8:37
Also, do you happen to know what RuntimeToolsProfileFunction does? – Ajasja Jul 2 '12 at 10:15
Unfortunately this solution does not seem to work for more complicated constructs, like funcitons called within Module, etc.. – Wizard Oct 17 '14 at 11:40
My issues mentioned in the comment above seem to be resolved in Mathematica 10.1. I also think that Mr.Wizard's suggestion should work in older versions, but I am not sure if I recall that correctly. Sorry for the late reply. – Wizard Jul 9 '15 at 11:13
@Wizard for the first time, I realize that there are at least two Wizards living on this site:-) – matheorem Oct 11 '15 at 8:47