ID:1434050
 
(See the best response by NNAAAAHH.)
Hey guys,
I've been trying to use the standard BYOND profiler for some time now, but it just doesn't provide the information I need to get into the actual problem..

Does anyone know of a profiler, for windows, that could work with BYOND? So far I tried Intel vTune, but it didn't seem to work right..
Best response
What is it you need from the profiler? I know it provides different information based on if you have #define DEBUG in or not.
http://www.byond.com/forum/?post=1434058

Procs that call other procs are slower than just directly running the code, but that longer processing time isn't accounted for with the profiler.
In response to MisterPerson
Seems to show up fine in my profiler:

world/loop_checks = 0

proc/Logic()
var/i = 0
i++
if(i == 1) i--

var/end = 0
var/subloops = 50000
mob/verb
Case1()
var/a = world.timeofday
world<<"Started at [a]"
for(end = 0 to 200)
for(var/x = 1, x <= subloops, x++)
Logic()

world<<"Ended at [world.timeofday] ([world.timeofday - a] elapsed)"

Case2()
var/a = world.timeofday
world<<"Started at [a]"
for(end = 0 to 200)
for(var/x = 1, x <= subloops, x++)
var/i = 0
i++
if(i == 1) i--

world<<"Ended at [world.timeofday] ([world.timeofday - a] elapsed)"


Results:

/*
Profile results (total time)
Proc Name Self CPU Total CPU Real Time Calls
--------------- --------- --------- --------- ---------
/mob/verb/Case1 9.154 14.348 14.347 1
/proc/Logic 5.194 5.761 7.492 10050000
/mob/verb/Case2 4.894 4.894 4.894 1
*/


The "Real Time" values for Case1() and Case2() matched the timeofday readings (minus being rounded to full ticks).

Case2() is clearly showing as faster in the profiler.

If you add the Self CPU values for Case1() and Logic(), it equals Case1()'s Total CPU, which makes sense.

I'm not sure what to make of Logic()'s Total CPU and Real Time values...

What are you expecting to see that you aren't?

(and no, there are no other profilers available. Even if you could get enough debug information to vTune to make sense of its output, it would be profiling the BYOND VM code, not your code)
Well, my main thing was that I wanted to see what was causing the "Total CPU" part in some procs, because I have one on a Del() which shows quite a large amount of total CPU (Number 1 each time when I filter it that way..)

Although it isn't possible for me to see what it was that caused the Total CPU to be going that high. Or, I haven't yet figured out a way. Either is possible.
In response to Raselor78
One option would be to look at the Del() proc in question, and see which other procs it calls, and look those up in the profiler results.