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
joshkreud opened this issue Aug 31, 2017 · 12 comments
Open

Inspection Explorer Performance & System Freezes #3328

joshkreud opened this issue Aug 31, 2017 · 12 comments
Labels
enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope. performance stale Issue is no longer relevant, or was fixed and forgotten. If closed but still relevant, open a new.

Comments

@joshkreud
Copy link

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
Copy link
Member

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?

@joshkreud
Copy link
Author

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
Copy link
Member

Would you mind sharing some performance metrics of your system?

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

@joshkreud
Copy link
Author

joshkreud 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
Copy link
Member

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

@joshkreud
Copy link
Author

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!

@joshkreud
Copy link
Author

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
Copy link
Member

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
Copy link
Member

retailcoder 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
Copy link
Contributor

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
Copy link

ghost 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.

@Vogel612 Vogel612 added enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope. stale Issue is no longer relevant, or was fixed and forgotten. If closed but still relevant, open a new. labels Nov 25, 2017
@comintern
Copy link
Contributor

Ref #4713

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope. performance stale Issue is no longer relevant, or was fixed and forgotten. If closed but still relevant, open a new.
Projects
None yet
Development

No branches or pull requests

6 participants