Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inspection Explorer Performance & System Freezes #3328

Open
joshuader6 opened this issue Aug 31, 2017 · 12 comments

Comments

Projects
None yet
6 participants
@joshuader6
Copy link

commented Aug 31, 2017

So i've just cloned the Rep and testet RD for a while.

The only thing Blocking me from using it productively is the Code inspections window.
When it diesplays around 200 Inspections it freezes the entire system just to display them.
Then it freezes again when selecting an inspection that is not inside the active Module.

The freeze is for about 10-20 seconds.

Otherwhise things like the code explorer or the Parsing itself are fast as hell.

Keep up the GREAT work guys!

@ThunderFrame

This comment has been minimized.

Copy link
Member

commented Aug 31, 2017

Some inspections are grouped once they exceed a certain number (I think it's about 100), so despite the category totals showing 200, the total number of inspections can be much higher. Are you able to clarify whether you've got a much higher number? That might explain some of the performance?

@joshuader6

This comment has been minimized.

Copy link
Author

commented Aug 31, 2017

ooh so i opened my largest project and it shows 721 inspections ...
Everytime i klick something that isn't on the same module it freezes for about 20 seconds.
Even the to collapse the group it takes a lot of time. This is why i haven't seen most of the inspections.

@Vogel612

This comment has been minimized.

Copy link
Member

commented Aug 31, 2017

Would you mind sharing some performance metrics of your system?

What's the Office bitness? What's the Windows Experience Index score breakdown?

@joshuader6

This comment has been minimized.

Copy link
Author

commented Aug 31, 2017

It's a Surface Book dGPU
i7-6600U 2,6ghz 2cores 4threads

Win 10 Pro 64bit (Fresh install)
Office 365 (2016) 32bit

Here is the output of my WIndows Experience Index
https://pastebin.com/V2Mtbyq9

@Vogel612

This comment has been minimized.

Copy link
Member

commented Aug 31, 2017

The information from that report seems.... unlikely...

PS C:\WINDOWS\system32> Get-WmiObject -Class Win32_WinSAT
 
 
__GENUS               : 2
__CLASS               : Win32_WinSAT
__SUPERCLASS          :
__DYNASTY             : Win32_WinSAT
__RELPATH             : Win32_WinSAT.TimeTaken="MostRecentAssessment"
__PROPERTY_COUNT      : 8
__DERIVATION          : {}
__NAMESPACE           : root\cimv2
__PATH                : \\DESKTOP-NHTEBP6\root\cimv2:Win32_WinSAT.TimeTaken="MostRecentAssessment"
CPUScore              : 0
D3DScore              : 0
DiskScore             : 0
GraphicsScore         : 0
MemoryScore           : 0
TimeTaken             : MostRecentAssessment
WinSATAssessmentState : 3
WinSPRLevel           : 0
@joshuader6

This comment has been minimized.

Copy link
Author

commented Aug 31, 2017

Yep thought that too, thats why i shared the ouput of the actual perofiling... There are some numbers on compressionspeed etc.

I'll try again when i'm not running on battery!

@joshuader6

This comment has been minimized.

Copy link
Author

commented Aug 31, 2017

Okay got it now:

Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\WINDOWS\system32> winsat formal
Windows-Systembewertungstool
> Formale Bewertung wird ausgeführt
Fehler: Eine formale Bewertung kann nicht ausgeführt werden, während das System mit Akkus betrieben wird.
PS C:\WINDOWS\system32> winsat formal
Windows-Systembewertungstool
> Formale Bewertung wird ausgeführt
> Laufzeit 00:00:00.00
> CPU - LZW-Komprimierung                      252.37 MB/s
> CPU - AES256-Verschlüsselung                 1737.38 MB/s
> CPU - Vista-Komprimierung                    690.45 MB/s
> CPU - SHA1-Hash                              814.47 MB/s
> Uniproc-CPU LZW-Komprimierung                77.96 MB/s
> Uniproc-CPU AES256-Verschlüsselung           348.53 MB/s
> Uniproc-CPU Vista-Komprimierung              194.64 MB/s
> Uniproc-CPU SHA1-Hash                        319.72 MB/s
> Arbeitsspeicherleistung                      13785.51 MB/s
> Direct3D Batch-Leistung                      42.00 F/s
> Direct3D Alpha Blend-Leistung                42.00 F/s
> Direct3D ALU-Leistung                        42.00 F/s
> Direct3D Texture Load-Leistung               42.00 F/s
> Direct3D Batch-Leistung                      42.00 F/s
> Direct3D Alpha Blend-Leistung                42.00 F/s
> Direct3D ALU-Leistung                        42.00 F/s
> Direct3D Texture Load-Leistung               42.00 F/s
> Direct3D-Geometrieleistung                   42.00 F/s
> Direct3D-Geometrieleistung                   42.00 F/s
> Leistung des Direct3D-Konstantenpuffers      42.00 F/s
> Durchsatz des Videospeichers                 5781.11 MB/s
> Dshow-Videocodierzeit                        2.40018 s
> Media Foundation-Decodierzeit                0.32897 s
> Disk  Sequential 64.0 Read                   1101.53 MB/s          8.5
> Disk  Random 16.0 Read                       395.69 MB/s          8.2
> Gesamtausführungszeit 00:00:00.49
PS C:\WINDOWS\system32> Get-WmiObject -Class Win32_WinSAT


__GENUS               : 2
__CLASS               : Win32_WinSAT
__SUPERCLASS          :
__DYNASTY             : Win32_WinSAT
__RELPATH             : Win32_WinSAT.TimeTaken="MostRecentAssessment"
__PROPERTY_COUNT      : 8
__DERIVATION          : {}
__SERVER              : DESKTOP-NHTEBP6
__NAMESPACE           : root\cimv2
__PATH                : \\DESKTOP-NHTEBP6\root\cimv2:Win32_WinSAT.TimeTaken="MostRecentAssessment"
CPUScore              : 7,4
D3DScore              : 9,9
DiskScore             : 8,35
GraphicsScore         : 5,9
MemoryScore           : 7,4
TimeTaken             : MostRecentAssessment
WinSATAssessmentState : 1
WinSPRLevel           : 5,9
@Vogel612

This comment has been minimized.

Copy link
Member

commented Aug 31, 2017

Thanks for sharing .... Since RD doesn't use the graphics, the effective score we should consider is 7.4, which isn't remotely an explanation for the observed behaviour ... The only thing I could blame is the bitness of the host, which limits how much memory we can use to keep inspection results "hot". That also doesn't match up with the numbers though..

Thanks for the report 👍 I hope we can fix the problems there soon

@retailcoder

This comment has been minimized.

Copy link
Member

commented Aug 31, 2017

I think we need to completely re-think the inspection results toolwindow. We have 50-some inspections; even with 200-some more, we should be able to display their results in an efficient way.

The current implementation is rather naive: we get results, we display them, cross our fingers, and hope for the best. Aggregated results do help de-pressurize the rendering, but at the end of the day we're looking at a completely redundant display that's fundamentally inefficient.

Let's think.

We could drop the "result description" part and use the inspections' own description (currently displayed in the bottom panel given a selection), so as to have at most 50-some top-level nodes, all collapsed by default - I think our GroupingGrid control could handle that nicely; the heading would contain the inspection's severity, type, description, and number of results. Under each inspection grouping we could list individual results, with columns such as Target (identifier name) and Location (Project.Module.Member:L1C1)... now this might fix the redundancies in the UI, but wouldn't really help the load (I think - having them collapsed might actually help), since the number of items / data points would essentially be the same.

Can we get the GroupingGrid to paginate its grid? @Hosch250 what do you think?

@bclothier

This comment has been minimized.

Copy link
Contributor

commented Sep 1, 2017

I want to note that in my case fixing one result in a module takes ~15 seconds. Furthermore, after fixing a handful, the application crashes on me. This has happened twice.

@ghost ghost self-assigned this Sep 1, 2017

@ghost

This comment has been minimized.

Copy link

commented Sep 1, 2017

@joshuader6 Some changes were made to v.2.1.0.2147 that may help the loading of inspection results into the Inspections Explorer window. Can you please install and try the version linked above, and share with us how it works for you?

Thank you.

@comintern

This comment has been minimized.

Copy link
Contributor

commented Jan 16, 2019

Ref #4713

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.