Източник на изображението: pixabay.com

Как да направите Python бърз като Psyco

Здравейте, момчета, добре дошли в следващия ми блог на Python. Но днес няма да говоря само за Python. И така, преди да продължа, бих предположил, че вече знаете битове и * байтове за python. Ако сте начинаещ, тогава можете да търсите в другите ми блогове, да научите за python, след което да се върнете при нас. сега обсъждаме темата Python бързо като Psyco.

Ако сте опитен програмист в друга област и смятате, че знаете основите и сега можете да прочетете този блог, тогава просто си задайте един въпрос, знаете ли какво е Psyco? Ако в този момент мислите, че тази „Психо“ означава луда, тогава отново тези неща не са за вас.

Все още сте избягвали много основни неща или просто се шегувате, като казвате, че сте опитен програмист. Повярвайте ми, ще се опитам да направя този блог възможно най-лесен и ще се опитам да не обиждам никого. Но ако нямате правилни основи, просто ще ви бъде по-трудно да разберете това.

Оставете тежката част настрана, дори карате да мислите, че бързите неща в python са много по-трудни от всяко друго програмиране, което е абсолютно погрешно. Така че сега знаем какво е, нека да се заемем с това, нали?

Какво е Psyco?

И така, какво е Psyco? Psyco прави python бързо. Объркани ли сте? Да, и аз бях объркан, когато чух това за първи път. Python вече е бърз, тогава защо да използвате psyco? Затова казах. Този блог не е за начинаещи и начинаещи. Ако сте кодирали в python run за дълго време, създавайки голям брой кодове и всичко, тогава ще знаете, че python fast се нуждае от компактно и строго кодиране. С подходящия тип кодиране можете да го направите бърз и компактен.

Но има нужда от време и неща. Не можете да създавате компактни кодове без грешки. И именно там възниква Psyco. Psyco е просто модул за бързо разширение на python, който ускорява изпълнението на код за изпълнение на python. Така че, може да се объркате в момента, модулът, който прави Python код да работи по-бързо? Да, точно така е. Нека да стигнем до по-голямата картина.

Python и неговата истинска природа

Ако сте кодирали в Java или C преди, може да мислите, че питонното изпълнение е изключително бързо, отколкото останалите. Но там грешите. По отношение на суровото представяне, python определено е по-бавен от C, Java или C #. Но питонът не е известен с това, че има скорост в сурови показатели.

Само начинаещи или ноуби правят необработено кодиране. Професионалните хора правят правилното кодиране заедно с правилните отстъпи *. Когато сравнявате правилно компилиран код и измервате общото използване на паметта, първоначалното време на стартиране, времето за зареждане, тогава в този момент изпълнението на python е изключително бързо.

Освен това, ако се опитвате да пишете кодове за създаване на сървър или други неща, Java е изключително бърза, дори по-бърза от C. Това е възможно, тъй като виртуалната машина на Java може да компилира горещ байт-код в машинен код. Докато правите това, може да се възползвате напълно от всяка функция на процесора.

Обикновено това не е така със C, поне докато не напуснете лабораторната си среда. Сега просто приемете, че разпространението на дузина оптимизирани компилации на вашите клиенти - това просто няма да работи.

И така, сега нека се върнем към основната ни точка, ако времето за стартиране е проблем (което не е проблем за сървърно приложение например) Java може да не е най-добрата алтернатива. Това може също да зависи от това къде са вашите горещи кодови области, например: Ако те са в родните библиотеки с някакъв бърз код на Python, за да ги залепите просто заедно, ще можете да получите C като производителност и с Python бързо. Но все пак, скриптовите езици ще са склонни да са по-бавни - поне през повечето време.

Препоръчителни курсове

  • Онлайн курс на VB.NET
  • Обучение за онлайн сертифициране в областта на научните данни
  • Професионален курс ISTQB
  • Програма Kali Linux

Psyco - как точно звучи

Да, ти четеш точно това. Сега да се върнем към основната ни тема. Това е, което дефинира психичните разработчици в своята уеб страница: -

„Мислете за Psyco като за своевременно създаден (JIT) компилатор, малко подобен на съществуващия за други езици, който излъчва машинен код в движение, вместо да интерпретира вашата стъпка по стъпка вашата програма Python. Разликата с традиционния подход към компилаторите на JIT е, че Psyco пише няколко версии на едни и същи блокове (блокът е малко функция), които са оптимизирани, като са специализирани за някои видове променливи („вид“ може да означава тип, но е по-общо). Резултатът е, че вашите немодифицирани Python програми работят по-бързо.

2x до 100x ускорения, обикновено 4 пъти, с немодифициран интерпретатор на Python и немодифициран изходен код, само динамично зареждащ се модул за разширение на C. "

Накратко, за да префразирате това в просто изявление, Psyco ще ви даде повече изпълнение, подобно на Java. Ще получите по-бавни начални времена и по-голямо използване на паметта в замяна на по-бързи алгоритми.

Като каза това, има някои неща, които човек трябва да запомни, когато тества езици като Java и Python. Кодът на тези езици често може да бъде ускорен значително чрез използване на конструкции, по-подходящи за езика (напр. Разбиране на списъци в Python бързо или използване на char () и String Builder за някои String операции в Java).

Освен това, за Python бързо, използването на Psyco може значително да увеличи скоростта на програмата. И тогава е целият проблем с използването на подходящи структури от данни и следене на сложността на изпълнение на вашия код.

За да разберем python psyco, човек трябва да има добро разбиране на функцията eval_frame () на python. Това, което прави python psyco, е да преобразува функцията на python eval_frame в съставна единица за оценка и psyco използва много памет, когато прави това. Използването на psyco е много по-лесно, отколкото да се обясни.

За да използвате просто psyco, изтеглете модула на psyco от sourceforge.net и след това запазете този код в началото на първия си код:

import psyco ; psyco.jit()

from psyco.classes import *

И тогава можете да използвате следната команда, за да насочите по-точно поведението на псико:

psyco.bind(somefunc) # or method, class

newname = psyco.proxy(func)

Ако в началото тези неща не работят с вас, тогава трябва да сте търпеливи. Изисква опит и грешка. Не можете директно да очаквате вашата програма да се изпълнява като Usain Bolt. Пощадете ме саркастично грубо поведение, но така работи.

В действителност, python psyco не променя или променя кода ви, за да го направи по-интелигентен. Едва ли профилът ви е по-конкретен. Прави минимална оптимизация, за да направи възможно най-близо до машинен код.

Въпреки че python psyco прави програмите ви толкова бързи като C, има някои ограничения и минуси за тях. Следват някои, които изброих по-долу:

  1. Психото вече е остаряло, неподдържано и мъртво. Замяната е PyPy
  2. Psyco има много проблеми с дори python 2.7. Но тя работи далеч по-добре и по-бързо във v2.5
  3. Psyco не работи на 64-битови машини. Но човек може да инсталира виртуална машина с i386 архитектура и да я накара да работи.
  4. Mac OSX по подразбиране идва с 64-битов python. Човек ще трябва да прекомпилира python x86 от източник, за да накара Psyco да работи.

Въпреки че имат толкова много проблеми, хората все още използват Psyco вместо PyPy. Но отново, ако питате мен, PyPy е страхотна алтернатива на Psyco. Psyco работи като компилатор Just In Time, но PyPy има собствен компилатор Just in Time. Когато Psyco използва много памет, PyPy използва много по-малко памет от Psyco. PyPy е още по-съвместим с рамки като Django и Twisted.

Така че след всичко това, независимо какво казвам, това е за наша собствена употреба. Хората с произход на Psyco винаги ще ви предложат да използвате Psyco, докато хората, които искат скорост, ще се нуждаят от PyPy. Но нека да цитирам нещо.

„Въпреки че се чувствате достатъчно добре с мотоциклети като R1 или Hayabusa, понякога карането на Harley Davidson има собствено удоволствие“

Работи по същия начин с Psyco и PyPy. И така, накрая, без много обожание, това, което бих предложил, е да използвате и двете в началото, и след това да продължите с това, което се чувствате много по-удобно.

Препоръчани статии:

Ето няколко статии, които ще ви помогнат да получите повече подробности за Python Fast And python psyco, така че просто преминете през линка.

  1. Linux срещу Ubuntu-разлики
  2. 25 най-удивителни Python интервюта въпроси и отговори
  3. Кариера в Python
  4. Python vs Node.js
  5. Полезно ръководство за Kali Linux срещу Ubuntu
  6. Списък на компилаторите на Python