0

I'm profiling my Clojure program using VisualVM 1.3.9.

Randomly while profiling (sometime after a couple minutes), I see the following (notice the top entry):

Profile Results

My program has absolutely 0 network functionality on its own (it's a genetic algorithm test routine), and doesn't use any external libraries.

Should I be concerned? Is there a way to find out what's causing this?

Alex Miller
  • 69,183
  • 25
  • 122
  • 167
Carcigenicate
  • 43,494
  • 9
  • 68
  • 117
  • Sometimes things happen that you have no idea why, but you're still causing them. You need to know the call stack leading to that time being spent. [*Here's the technique*](http://stackoverflow.com/a/378024/23771) I and others use to see what's going on. – Mike Dunlavey Oct 18 '16 at 12:35
  • @MikeDunlavey Thanks, I'll look into it. I was thinking it may be caused by the profiling itself, but since that was my only way of detecting it in the first place, I had no way of really testing it. I'm absolutely sure that my program itself isn't doing this however, so unless clojure.core is doing something, this must be an external virus. – Carcigenicate Oct 18 '16 at 12:45
  • Self time is worthless because it doesn't tell you why the time is being spent. At the very least you need inclusive (total) time. You're getting that with some other routines, but they're still in the bowels. What's more, that looks like CPU-time, which is also useless if there is any I/O going on, which there is. Wall-clock inclusive time (of your code) is what you really need. (This is a recurring theme, that profilers make a point of showing you the least helpful information.) – Mike Dunlavey Oct 18 '16 at 13:23

0 Answers0