Python

Hoe de PyCharm Memory Profiler te gebruiken

Hoe de PyCharm Memory Profiler te gebruiken
Op professionele en industriële schaal bij het schrijven van een code voor een applicatie, is een van de belangrijkste dingen waar de programmeur rekening mee moet houden, code-optimalisatie. Geoptimaliseerde code schrijven is een kunst waar veel kennis en ervaring voor nodig is. Code-optimalisatie is het schrijven van een schone, correcte en efficiënte code die minimale hardwarebronnen gebruikt om het programma gedaan te krijgen.

Zelfs als u geen programmeur bent, kunt u zich inleven in het belang van geoptimaliseerde codering. Stel dat u software gebruikt en dat het veel tijd kost om te laden. Het wordt na een tijdje erg laggy en traag. Deze problemen kunnen om verschillende redenen optreden, maar bijna 90% van de tijd is de reden hierachter dat de softwarecode niet is geoptimaliseerd, waardoor veel van uw systeembronnen worden gebruikt, wat resulteert in een laggy-ervaring.

Bij het programmeren zijn er veel manieren om het vereiste probleem op te lossen, de kunst van het programmeren is om te weten welke methode het meest efficiënt is, wanneer welk algoritme moet worden gebruikt om de tijd en het geheugen dat nodig is om het programma uit te voeren, te minimaliseren.

PyCharm-geheugenprofiler

Het optimaliseren van een code was misschien een tijdrovende en moeilijke taak, maar nu niet meer. Zou het niet cool zijn als je IDE (Integrated Development Environment) een optie had van waaruit je kon zien hoeveel geheugen elk onderdeel van je code nodig heeft? Nou, PyCharm heeft precies wat je nodig hebt. Zie de geheugenprofiler van PyCharm. U kunt zowel uw python-scripts als Node . optimaliseren.js-toepassingen in PyCharm.

Plug-ins

Voordat we beginnen, moet u ervoor zorgen dat alle vereiste plug-ins zijn geïnstalleerd en ingeschakeld. Zorg ervoor dat UML- en NodeJS-plug-ins zijn geïnstalleerd en actief zijn voor het profileren van Python en Node.js-toepassingen, respectievelijk. Volg de onderstaande instructies om de genoemde plug-ins te installeren:.

Open PyCharm en ga naar instellingen door op Ctrl+Alt+S . te drukken

Ga naar plug-ins en typ NodeJS en klik op installeren.

Schakel nu de tabbladen van Marketplace naar Geïnstalleerd en typ in de zoekbalk "UML".Klik op inschakelen. Klik op Toepassen. Klik vervolgens op de knop Nu opnieuw opstarten.

Profilers

Met PyCharm kunt u de op monsters gebaseerde profiler van V8 gebruiken voor zowel CPU- als geheugenprofilering van NodeJS-bestanden. Voor python gebruikt het yappi indien geïnstalleerd; anders gebruikt het de standaard cProfile. Voor geheugenprofilering kunt u een geheugenprofiler voor Python gebruiken.

Python-profilering:

Met PyCharm kun je moeiteloos je Python-script profileren. Nadat u klaar bent met het coderen van uw script, klikt u op het klikpictogram in de hoofdwerkbalk in de rechterbovenhoek onder de knop Minimaliseren. Of je kunt naar de rennen dan profiel .

Hier slaat PyCharm het resultaat van uw profiel op in een .pstat-bestand en geeft het weer op het nieuwe tabblad, genaamd .pstat.  

Terug naar broncode:

U kunt teruggaan naar de broncode door met de rechtermuisknop op een functienaam te klikken en vervolgens op Navigeer naar broncode in het subtabblad met de naam statistiek. Als u dit doet, gaat u terug naar de broncode van die specifieke functie.

Grafische weergave:

Op dezelfde manier kunt u uw code in grafische vorm bekijken in de Oproepgrafiek tabblad.

V8-geheugenprofilering:

Voor profilering van het web moet u V8-profilering inschakelen. Ga hiervoor naar Configuraties uitvoeren/foutopsporing. Schakel over naar de V8-profilering tabblad. Controleer beide Gegevens over CPU-profilering opnemen en Sta het maken van snapshots toe selectievakje. In de Logboek opnemen, u kunt de map specificeren waar al uw profileringsloggegevens moeten worden bewaard.

Klik Van toepassing zijn dan OK.

Voer je code uit. En klik tijdens de uitvoering op het tabblad run-tool.

Specificeer de naam en locatie voor de snapshot en selecteer Momentopname openen als u de gemaakte momentopname direct wilt evalueren.

Ga naar om de op een ander tijdstip genomen foto's te evalueren: hulpmiddelen dan v8-profilering dan  Analyseer V8 Heap Snapshots. Blader naar het heapshot-bestand dat u wilde analyseren. Er wordt een apart tabblad gemaakt met dezelfde naam als de naam van de geselecteerde heapshot.  insluiting tabblad toont uw applicatie-objecten gegroepeerd onder  Garbage Collector Roots, browser-objecten en DOM Windows-objecten. Grootste object toont u het object dat het meeste geheugen in beslag neemt. Geheugenlekken als gevolg van het opslaan van gegevens in globale objecten kunnen hier worden gediagnosticeerd. De Samenvatting tabblad toont, zoals de naam al doet vermoeden, de algemene samenvatting van de analyse. Het geeft een overzicht van objecten in uw applicatie. Hier wordt het totale aantal objecten van elk type weergegeven, samen met de informatie over hun afmetingen en het geheugen dat ze verbruiken (in procenten).

Om onderscheid te maken tussen objecten en bewegingen zonder enig verlies van context. Stel het label in op een willekeurig object door het te selecteren en klik op het vinkje in de rechterbovenhoek. Geef het label op in het dialoogvenster dat verschijnt.

Broncode:

Om de broncode van een bepaald object te zien, selecteert u dat object en klikt u op het potloodpictogram in de werkbalk. Of selecteer Bron bewerken. Als de opties in het menu grijs zijn, betekent dit dat er geen functie is gevonden die overeenkomt met het geselecteerde object. Als er meerdere functies worden gevonden, worden deze weergegeven in de vorm van een suggestielijst.

Momentopnamen zoeken:

U kunt zoekopdrachten op snapshots uitvoeren door op het zoekpictogram in de insluiting tabblad.  Er kunnen verschillende bereiken worden gespecificeerd voor zoeken. Voor .e.g. als de Overal checkbox is aangevinkt zal zoeken in alle scopes. Klasnamen zoekt tussen de functies-constructor. Tekstreeksen zoekt in de tekst van de gedefinieerde functies. merken selectievakje is aangevinkt wanneer u wilt zoeken tussen uw labels die u op objecten hebt ingesteld door op het vinkje in de te klikken container tabblad. Kortom, PyCHarm geeft je veel opties om door de heapshots te navigeren.

Conclusie:

Pycharm heeft veel verschillende functies waarvan de meeste beginnende programmeurs niet op de hoogte zijn, en deze functies kunnen je helpen veel beter te coderen. En dit is niet alleen het geval voor PyCharm. Bijna elke IDE biedt enkele handige functies die niet door een groot deel van de consumenten worden gebruikt. We moeten dus op zoek naar deze kleine functies die een aanzienlijke impact kunnen hebben op onze codering en op een positieve manier.

Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...
De scrollrichting van de muis en touchpads omkeren in Windows 10
Muis en Touchpads maken computergebruik niet alleen eenvoudig, maar ook efficiënter en minder tijdrovend. We kunnen ons een leven zonder deze apparate...
Hoe de muisaanwijzer en cursorgrootte, kleur en schema op Windows 10 te veranderen
De muisaanwijzer en cursor in Windows 10 zijn zeer belangrijke aspecten van het besturingssysteem. Dit geldt ook voor andere besturingssystemen, dus i...