Pytonorm

Hur man använder PyCharm Memory Profiler

Hur man använder PyCharm Memory Profiler
På professionell och industriell skala när man skriver en kod för en applikation är en av de viktigaste sakerna som programmeraren måste ta hänsyn till är kodoptimering. Att skriva optimerad kod är en konst som kräver mycket kunskap och erfarenhet. Kodoptimering skriver en ren, korrekt och effektiv kod som använder minimala hårdvaruresurser för att få programmet gjort.

Även om du inte är programmerare kan du relatera till vikten av optimerad kodning. Antag att du kör programvara och det tar mycket tid att ladda. Det blir mycket laggy och långsamt efter ett tag. Dessa problem kan uppstå på grund av några olika anledningar, men nästan 90% av tiden, orsaken bakom detta är att programvarukoden inte är optimerad och därmed använder mycket av systemets resurser vilket resulterar i en laggy upplevelse.

Vid programmering finns det många sätt att lösa det nödvändiga problemet, konsten att programmera är att veta vilken metod som är mest effektiv, när man använder vilken algoritm för att minimera den tid och minne som krävs för att köra programmet.

PyCharm Memory Profiler

Att optimera en kod kan ha varit en mycket tidskrävande och svår uppgift, men inte längre. Skulle det inte vara coolt om din IDE (Integrated Development Environment) hade ett alternativ där du kunde se hur mycket minne som krävs för varje enskild del av din kod? Tja, PyCharm har precis det du behöver. Se PyCharms minneprofiler. Du kan optimera dina python-skript såväl som Node.js-applikationer i PyCharm.

Plugins

Innan vi börjar, se till att alla nödvändiga plugins är installerade och aktiverade. Se till att UML- och NodeJS-plugins är installerade och körs för profilering av Python och Node.js-applikationer. Följ instruktionerna nedan för att installera dessa plugins.

Öppna PyCharm och gå till inställningar genom att trycka på Ctrl + Alt + S

Gå till plugins och skriv NodeJS och klicka på installera.

Byt nu flikar från Marketplace till Installed och skriv ”UML i sökfältet.”Klicka på aktivera. Klicka på Apply. Klicka sedan på starta om nu-knappen.

Profilers

PyCharm låter dig använda V8: s exempelbaserade profiler för både CPU- och minnesprofilering av NodeJS-filer. För python använder den yappi om den är installerad; annars använder den standard cProfile. För minnesprofilering kan du använda en minneprofiler för Python.

Python-profilering:

Med PyCharm kan du enkelt profilera ditt Python-skript. När du har kodat ditt skript klickar du på klickikonen i huvudverktygsfältet i det övre högra hörnet under minimeringsknappen. Eller så kan du gå till springa sedan profil .

Här sparar PyCharm resultatet av din profil till en .pstat-fil och visar den på den nya fliken med namnet .pstat.  

Tillbaka till källkoden:

Du kan gå tillbaka till källkoden genom att högerklicka på ett funktionsnamn och sedan klicka på Navigera till källkoden i underfliken med namnet Statistisk. Om du gör det kommer du tillbaka till källkoden för just den funktionen.

Grafisk vy:

På samma sätt kan du se din kod i grafisk form i Ring diagram flik.

V8-minnesprofilering:

För profilering av webben måste du aktivera V8-profilering. För detta, gå till Kör / felsöka konfigurationer. Byt till V8-profilering flik. Kontrollera båda Spela in information om CPU-profilering och Tillåt att ta höga ögonblicksbilder kryssruta. I Registrera logg, Du kan ange den mapp där alla dina profileringsloggdata ska sparas.

Klick Tillämpa sedan OK.

Kör din kod. Och under körningen klickar du på fliken körverktyg.

Ange namnet och platsen för ögonblicksbilden och välj Öppna ögonblicksbild om du vill börja utvärdera den ögonblicksbild som tagits direkt.

För att utvärdera högskott tagna vid en annan tid, gå till verktyg sedan v8 profilering sedan  Analysera V8 Heap Snapshots. Bläddra till den heapshot-fil du ville analysera. En separat flik skapas med dess namn samma som namnet på vald heapshot.  Inneslutning fliken visar dina applikationsobjekt grupperade under Garbage Collector-rötter, webbläsarobjekt och DOM Windows-objekt. Största objektet visar det objekt som förbrukar mest minne. Minneläckage på grund av lagring av data i globala objekt kan diagnostiseras här. De Sammanfattning , som namnet antyder, visar den övergripande sammanfattningen av analysen. Det ger en översikt över objekt i din applikation. Här visas det totala antalet objekt av varje typ tillsammans med information om deras storlek och minne de förbrukar (i procent).

Att skilja mellan objekt och rörelser utan någon sammanhangsförlust. Ställ in etiketten på vilket objekt som helst genom att markera den och klicka på kryssikonen längst upp till höger. Ange etiketten i dialogrutan som dyker upp.

Källkod:

För att se källkoden för ett visst objekt, välj det objektet och klicka på pennikonen i verktygsfältet. Eller välj Redigera källa. Om alternativen i menyn är nedtonade betyder det att ingen funktion hittades som motsvarar det valda objektet. Om flera funktioner hittas visas dessa i form av en förslagslista.

Söker ögonblicksbilder:

Du kan utföra sökningar på ögonblicksbilder genom att klicka på sökikonen i Inneslutning flik.  Olika omfattningar kan specificeras för sökning. För .e.g. om Överallt kryssrutan är markerad så kommer den att söka i alla omfattningar. Klassnamn söker bland funktionskonstruktören. Textsträngar söker i texten till de definierade funktionerna. Märken kryssrutan är markerad när du vill söka bland dina etiketter som du ställer in objekt genom att klicka på kryssikonen i behållare flik. Kort sagt, PyCHarm ger dig många alternativ för att navigera genom heapshots.

Slutsats:

Pycharm har många olika funktioner som de flesta nybörjare inte känner till, och dessa funktioner kan hjälpa dig att koda mycket bättre. Och detta är inte fallet för endast PyCharm. Nästan varje IDE har några praktiska funktioner som inte används av en stor del av konsumenterna. Så vi bör leta efter dessa små funktioner som kan ha en betydande inverkan på vår kodning och på ett positivt sätt.

Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...