Make Ozcode less sluggish

Adrian Grigore 5 years ago updated by Ortal Greenberg Ilany 4 weeks ago 5

Despite using a Core i7-6700K with 32 GB RAM and working with my solution in a RAMDisk, I still noticed quite often when debugging my code that Ozcode often makes the whole IDE quite sluggish.

For example, If I break inside an if-statement and scroll up until the statement has scrolled out of the window and then scroll back to the if-statement, whole IDE hangs for about 2-3 seconds when the if-statement comes into the editor window again. I suspect it's due to OzCode's highlighting of the if clauses.

2-3 seconds might not seem like much, but bear in mind that this is high-end hardware. On older hardware (such as my laptop) the same problem becomes much more obvious.

Under review

Hi Adrian and thanks a lot for the feedback. The behavior you're describing it definitely NOT supposed to happen, and I think there's a specific problem here that we're not aware of.

I'd really appreciate it if you could please send us a Performance Profiler snapshot of those 2-3 seconds. You could use any profiler you prefer, or just use dotTrace by performing the following steps:

  1. Download dotTrace from https://www.jetbrains.com/profiler/download/
  2. Open dotTrace Performance Profiler
  3. Click "Local" on the top-left corner
  4. Under "Attach to Process", find the relevant "devenv.exe" (which is the Visual Studio process you are currently using)
  5. Choose "Sampling under "Profiler Options" and click "Run"
  6. Go back to Visual Studio and repeat the action[s] that were performing badly several times.
  7. In the dotTrace pop-up, click "Get Snapshot'n'Wait"
  8. Click File->Export Snapshot, and send us the resulting .DTP file to support@oz-code.com (the file might be very large, so you could use a file sharing service like DropBox to send it over).

A performance profiler snapshot would really make a huge difference in allowing us to pin-down the root cause of the performance issue, and we'd really appreciate it :)

Thanks again!

Just to be clear: I wouldn't mind as much if the highlighting was delayed. But please don't hang the entire IDE.

Of course, that makes perfect sense. OzCode does in fact try to delay as much of the non-critical work as possible to when Visual Studio is idle, and tries to do most work asynchroneously to make sure we never hang for more than a few milliseconds. That's why I'm suspecting there is something strange happening in your particular scenario, and I'd really love to explore a performance snapshot so that we could get to the bottom of it and fix it. Thanks again for the report!

Just installed OzCode today to try out the LINQ (query syntax) debugger. The functionality was great, but my 300 line c# console project (all in program.cs) was absolutely painful to debug with OzCode installed. Stepping 1 line would take anywhere from 3-5 seconds, and trying to just run through to a breakpoint on the final line, which used to take <1 second, now takes about a minute with VS2019 (16.4.1) popping up a window saying it is waiting for something in reflection.

As for the LINQ query, it was 5 lines long:

  • from x in A...
  • from y in B...
  • let ...
  • where ...
  • select ...

all across in-memory List<object> where A has 1,743 elements and B has 6 elements.

Clicking the OzCode (?) took about 2 minutes to complete, then clicking the (xxx/1743) style elements would open in about 5 seconds, and opening the full LINQ explorer window took about 10 seconds, with clicking each step at the top (from>from>let>where>select) taking about 30-40 seconds to refresh.

My machine is dual CPI Intel Xeon W-2155 @ 3.3GHz (10 cores each) with 64GB ram, Samsung 970 PRO Series - 1TB PCIe NVMe - M.2 storage, Windows 10 Pro (64-bit).

Disabling OzCode and restarting Visual Studio made debugging/stepping go back to instantaneous.

The tool seems great, but the performance hit is unacceptable.


Hi Shaun, 

Our technical team (support@oz-code.com) just contacted you regarding this issue. They are much more responsive :) this forum is mainly for requesting or voting on Ozcode's features.

Hope it'll be resolved soon.