Képforrás: pixabay.com

Hogyan készítsünk Python Gyors, mint Psyco-t

Hé srácok, üdvözlöm a következő Python blogomat. De ma nem csak a Python gyorsról fogok beszélni. Tehát mielőtt folytatnám, azt feltételezem, hogy már ismeri a biteket és a * bájtot a pythonról. Ha Ön kezdő, akkor kereshet más blogjaimban, megismerheti a python-ot, majd visszatérhet hozzánk. most a Python témát, mint Psyco-t vitatjuk meg gyorsan.

Ha Ön tapasztalt programozó egy másik területen, és úgy gondolja, hogy ismeri az alapokat, és most már el tudja olvasni ezt a blogot, akkor csak tegyen fel egy kérdést magadtól, tudja, mi a Psyco? Ha ezen a ponton azt gondolod, hogy ez a „Psyco” őrült jelent, akkor ismét ez a cucc nem neked szól.

Még mindig sok alapvető dolgot elkerültél, vagy csak viccelsz magaddal, mondván, hogy tapasztalt programozó. Bízz bennem, megpróbálom ezt a blogot a lehető legegyszerűbbé tenni, és megpróbálok senkit sem sérteni. De ha nincs jól az alapok, akkor nehezebb megérteni ezt.

Hagyja félre a kemény részt, sőt még azt gondolod, hogy a python gyors dolgok sokkal nehezebbek, mint bármely más programozás, ami teljesen rossz. Tehát most tudjuk, hogy mi van, kezdjük tovább, ugye?

Mi a Psyco?

Szóval, mi a Psyco? A Psyco gyorsan meggyorsítja a pythonot. Zavaros? Igen, én is zavart voltam, amikor ezt először hallottam. A Python már gyors, akkor miért használja a psyco-t? Ezért mondtam. Ez a blog nem a kezdőknek és a kezdőknek szól. Ha jó ideig kódolt a python futtatásában, nagy számú kódot hozott létre, és mindent megtesz, akkor tudni fogja, hogy a python gyorshoz kompakt és szigorú kódolás szükséges. A megfelelő típusú kódolásnak köszönhetően gyors és kompakt is.

De időre és cuccra van szüksége. Nem hozhat létre kompakt és hibamentes kódokat a kéken. És itt jön létre a Psyco. A Psyco csak egy python gyors kiterjesztésű modul, amely felgyorsítja a python run kód végrehajtását. Tehát tévedhet most, mert a modul gyorsabban futtatja a Python kódot? Igen, pontosan így van. Nézzük a nagyobb képet.

Python és valódi természete

Ha korábban már kódoltál Java-ban vagy C-ben, akkor azt gondolhatja, hogy a python futás rendkívül gyors, mint a többieknél. De itt tévedsz. A nyers teljesítmény szempontjából a python határozottan lassabb, mint a C, a Java vagy a C #. De a pythonról nem ismert, hogy sebessége nyers.

Csak kezdők vagy noobsok végeznek nyers kódolást. A hivatásos emberek megfelelő kódolást végeznek a megfelelő behúzásokkal *. Ha összehasonlítja a megfelelően összeállított kódot, és megméri a teljes memóriafelhasználást, a kezdeti indítási időt, a betöltési időt, akkor ebben az időpontban a python futtatása rendkívül gyors.

Ezen felül, ha kódokat próbál kiszolgáló vagy más anyag létrehozására, a Java rendkívül gyors, még C-nél is gyorsabb. Ez lehetséges, mivel a Java virtuális gép forró bájtkódot fordíthat a gépkódra. Ennek során teljes mértékben kihasználhatja a CPU minden egyes tulajdonságát.

Ez általában nem jellemző a C esetében, legalább addig, amíg el nem hagyja laboratóriumi környezetét. Most tegyük fel, hogy egy tucat optimalizált készítmény terjesztése az ügyfelek számára - ez egyszerűen nem fog működni.

Tehát térjünk vissza a lényegünkhöz, ha az indulási idő problémát jelent (ami például nem egy kiszolgálóalkalmazás kérdése). A Java nem biztos, hogy a legjobb alternatíva. Attól is függ, hogy hol helyezkednek el a forró kódterületek, például: Ha a natív könyvtárakban vannak valamilyen Python gyorskóddal, hogy egyszerűen összeragaszthassák őket, akkor a Python-hoz hasonlóan hasonló teljesítményt is elérhet. De mégis, a szkriptnyelv általában lassabb lesz - legalábbis az idő nagy részében.

Ajánlott tanfolyamok

  • VB.NET Online tanfolyam
  • Online tanúsítási képzés az adattudományban
  • Szakmai ISTQB tanfolyam
  • Kali Linux program

Psyco - Pontosan hogyan hangzik

Igen, ezt olvastam jól. Most térjünk vissza a fő témához. Most ezt határozza meg a psyco-fejlesztők a weboldalukon: -

Gondolj a Psyco-ra, mint egyfajta just-in-time (JIT) fordítóra, kicsit olyan, mint más nyelvek esetében, amelyek gépi kódot bocsátanak ki menet közben, ahelyett, hogy a Python-programot lépésről lépésre értelmeznék. A különbség a JIT-fordítók hagyományos megközelítésében az, hogy a Psyco ugyanazon blokkok több verzióját írja (a blokk egy kicsit egy függvény), amelyeket úgy optimalizálnak, hogy valamilyen változóra specializálódnak (a „fajta” jelenthet egy típust, de általánosabb). Ennek eredményeként a módosítatlan Python programjai gyorsabban futnak.

2–100-szor gyorsul, általában 4-szer, módosítatlan Python-értelmezővel és módosítatlan forráskóddal, csak egy dinamikusan betölthető C bővítőmodul. ”

Röviden: ezt egy egyszerű kijelentésben újrafogalmazva, a Psyco több Java-szerű teljesítményt nyújt Önnek. Lassabb indulási időket és nagyobb memóriafelhasználást kap a gyorsabb algoritmusok cserébe.

Ennek ellenére vannak bizonyos dolgok, amelyeket érdemes emlékezni olyan nyelvek tesztelésekor, mint a Java és a Python. Az ezekben a nyelvekben szereplő kód gyakran jelentősen felgyorsítható a nyelvhez jobban megfelelő konstrukciók felhasználásával (pl. A listáttekintés Python gyors verziójában, vagy a char () és a String Builder használata bizonyos Java-szöveges műveleteknél).

Sőt, a Python gyors alkalmazáshoz a Psyco használata nagyban növeli a program sebességét. És akkor az a kérdés, hogy megfelelő adatszerkezeteket használunk, és szemmel kell tartanunk a kód futásidejű összetettségét.

A python psyco megértéséhez jól meg kell ismernünk a python eval_frame () funkcióját. Amit a python psyco csinálja, az a python eval_frame funkcióját összetett értékelési egységgé konvertálja, és a psyco ennek során sok memóriát használ. A psyco használata sokkal könnyebb, mint magyarázni.

A psyco egyszerű használatához töltse le a psyco modult a sourceforge.net webhelyről, és tartsa ezt a kódot az első kód elején:

import psyco ; psyco.jit()

from psyco.classes import *

Ezután a következő parancsot használhatja a psyco viselkedésének pontosabb megcélzására:

psyco.bind(somefunc) # or method, class

newname = psyco.proxy(func)

Ha ez a cucc először nem működik veled, akkor türelmesnek kell lenned. Kísérletet és hibát igényel. Nem számíthat arra, hogy a program úgy fut, mint az Usain Bolt. Kíméljen nekem a szarkasztikus durva viselkedést, de így működik.

A valóságban a python psyco nem módosítja vagy módosítja a kódját, hogy okosabbá váljon. Alig profilozza a kódot, hogy pontosabb legyen. Minimálisan optimalizálja, hogy a lehető legközelebb álljon a gépi kódhoz.

Bár a python psyco olyan gyorsan készíti a programokat, mint a C, vannak korlátozások és ellenérvek is. Az alábbiakban felsorolunk néhányat, amelyeket alább felsoroltam:

  1. A Psyco elavult, fenntarthatatlan és halott. A csere PyPy
  2. A Psyconak nagyon sok kérdése van még a python 2.7-rel is. De sokkal jobb és gyorsabb a v2.5 verzióban
  3. A Psyco nem működik 64 bites gépeken. De telepíthető egy i386 architektúrájú virtuális gép, és működésbe hozható.
  4. A Mac OSX alapértelmezés szerint a 64-bites python. A Psyco működéséhez újra kell fordítani a python x86-at a forrásból.

Annak ellenére, hogy nagyon sok kérdés merül fel, az emberek továbbra is a Psyco-t használják PyPy helyett. De ismét, ha engem kérdezel, a PyPy fantasztikus alternatívája a Psyco-nak. A Psyco úgy működik, mint a Just In Time fordító, de a PyPy rendelkezik saját Just in time fordítóval. Ahol a Psyco sok memóriát használ, a PyPy sokkal kevesebb memóriát használ, mint a Psyco. A PyPy még kompatibilisebb olyan keretekkel, mint a Django és a Twisted.

Tehát mindezek után, függetlenül attól, amit mondok, a saját használatra van. A Psyco háttérrel rendelkező emberek mindig javasolják a Psyco használatát, míg a gyorsaságot igénylő embereknek PyPy-re lenne szükségük. De hadd idézjek valamit.

"Annak ellenére, hogy elég jól érzed magad az olyan motorkerékpárokkal, mint az R1 vagy a Hayabusa, a Harley Davidsonba való lovaglás néha meglepő öröm."

Hasonlóan működik a Psyco-val és a PyPy-vel. Tehát végül, anélkül, hogy nagyon kellemetlen lenne, azt javasolnám, hogy mindkettőt használja kezdetben, majd folytassa azzal, amellyel sokkal kényelmesebben érzi magát.

Ajánlott cikkek:

Íme néhány cikk, amely segít részletesebben megismerni a Python Fast And python psyco-t, tehát csak keresse meg a linket.

  1. Linux vs Ubuntu-Differences
  2. 25 leglenyűgözőbb Python interjú kérdés és válasz
  3. Karrier Pythonban
  4. Python vs Node.js
  5. Hasznos útmutató a Kali Linux vs Ubuntu oldalhoz
  6. A Python-összeállítók listája

Kategória: