Извор слике: пикабаи.цом

Како направити Питхон брзим као Псицо

Хеј момци, добродошли на мој следећи блог Питхон-а. Али данас нећу брзо говорити само о Питхону. Па пре него што наставим, претпоставио бих да већ знате битове и * бајтове о питхон-у. Ако сте почетник, онда можете потражити моје остале блогове, научити о питхон-у, а затим се вратити к нама. сада расправљамо о теми Питхон брзо као Псицо.

Ако сте искусни програмер на другом пољу и мислите да знате основе и сада можете да читате овај блог, онда се запитајте једно питање, знате ли шта је Псицо? Ако у овом тренутку мислите да овај "Псицо" значи луд, онда опет, ово није за вас.

И даље сте избегавали много основних ствари или се само шалите говорећи да сте искусни програмер. Верујте ми, покушаћу да овај блог учиним што једноставнијим и покушаћу да никога не увредим. Али ако немате основе у реду, то ће вам бити теже схватити.

Оставите чврсти део по страни, чак почињете да мислите да је питхон фаст ствари много тежи од било којег другог програма који је апсолутно погрешан. Дакле, сада знамо шта је то, хајде да пређемо на то, зар не?

Шта је Псицо?

Па, шта је Псицо? Псицо брзи питхон. Збуњени? Да, и ја сам био збуњен када сам то први пут чуо. Питхон је већ брз, зашто онда користити псицо? Зато сам рекао. Овај блог није за почетнике и почетнике. Ако сте кодирали у питхон рун током дужег времена, креирајући велики број кодова и свега осталог, знат ћете да је за питхон-ов брзо потребан компактан и строг начин кодирања. Са правилним типом кодирања, можете га учинити брзим и компактним.

Али треба јој времена и ствари. Не можете да креирате компактне кодове без грешака. И ту настаје Псицо. Псицо је само модул за брзо проширење питхон-а који убрзава извршење кода за покретање питхон-а. Дакле, можда сте збуњени тренутно, модул који омогућава да Питхон код брже ради? Да, управо тако је. Идемо на ширу слику.

Питхон и његова истинска природа

Ако сте раније кодирали Јава или Ц, можда ћете помислити да је трчање питхон-а изузетно брзо него остали. Али ту грешите. Што се тиче сирових перформанси, питхон је дефинитивно спорији од Ц, Јава или Ц #. Али питхон није познат по брзини у сировим перформансама.

Само почетници или нообови раде сирово кодирање. Професионални људи раде правилно кодирање заједно са правилним урезима *. Када упоредите правилно састављен код и измерите укупну потрошњу меморије, почетно време покретања, време учитавања, а затим је у том тренутку покретање питхона изузетно брзо.

Поред тога, ако покушавате да напишете кодове за креирање сервера или сличних ствари, Јава је изузетно брза, чак и бржа од Ц. Ово је могуће јер би Јава Виртуал Мацхине могао да компајлира врући бајт код у машински код. Док то ради, можда ће у потпуности искористити сваку карактеристику ЦПУ-а.

То обично није случај са Ц, бар док не напустите лабораторијско окружење. Сада само претпоставите, дистрибуирање десетака оптимизованих градњи својим клијентима - то једноставно неће успети.

Дакле, сада се вратимо на нашу главну ствар ако је време покретања (што на пример није проблем за сервер апликацију) Јава можда није најбоља алтернатива. На пример, то може зависити и од тога где су вам подручја са врућим кодом, на пример: Ако се налазе у матичним библиотекама са неким Питхон-овим брзим кодом да бисте их једноставно залепили, моћи ћете да добијете Ц као перформансе и са Питхон-ом. Али ипак, језици скрипта ипак ће бити спорији - барем већи део времена.

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

  • ВБ.НЕТ Онлине Курс
  • Обука за сертификацију путем Интернета из науке о подацима
  • Професионални ИСТКБ курс
  • Кали Линук програм

Псицо - тачно како звучи

Да, добро сте прочитали. Вратимо се нашој главној теми. Ово је оно што психолошки програмери дефинишу на својој веб страници: -

„Размишљајте о Псицо-у као о некаквом правовременом (ЈИТ) компајлеру, помало налик ономе што постоји за остале језике, који одашиљу машински код у покрету, уместо да корак по корак интерпретирате ваш програм Питхон. Разлика у традиционалном приступу ЈИТ компајлеру је у томе што Псицо пише неколико верзија истих блокова (блок је помало функција), који се оптимизују тако што су специјализовани за неке врсте променљивих („врста“ може значити тип, али је опћенитије). Резултат је то да ваши немодификовани Питхон програми раде брже.

2к до 100к убрзавања, обично 4к, са немодификованим интерпретатором Питхон-а и немодификованим изворним кодом, само динамички Ц модул за проширење. "

Укратко, ако то преформулирате у једноставну изјаву, Псицо ће вам пружити више перформанси сличних Јава-у. Добит ћете спорије почетно вријеме и већу потрошњу меморије у замјену за брже алгоритме.

Рекавши то, постоје неке ствари које би требало запамтити приликом тестирања језика као што су Јава и Питхон. Код на овим језицима често се може знатно убрзати употребом конструкција које су прикладније језику (нпр. Разумевање пописа на Питхон-у брзо или коришћењем цхар () и Стринг Буилдер-а за одређене Стринг операције у Јави).

Штавише, за Питхон брзо, коришћење Псицо-а може значајно повећати брзину програма. А ту је и читав проблем у кориштењу одговарајућих структура података и праћења сложености рунтиме-а вашег кода.

Да бисмо разумели питхон псицо, потребно је да добро разумемо питхонову функцију евал_фраме (). Оно што ради питхон псицо је претварање питхон-ове евал_фраме функције у јединствену јединицу за процену, а псицо користи пуно меморије када то ради. Користити псицо је далеко лакше него објаснити га.

Да бисте једноставно користили псицо, преузмите псицо модул са изворфорге.нет и задржите овај код на почетку свог првог кода:

import psyco ; psyco.jit()

from psyco.classes import *

А затим, можете користити следећу команду да прецизније циљате психо понашање:

psyco.bind(somefunc) # or method, class

newname = psyco.proxy(func)

Ако вам ове ствари испрва не раде, онда морате бити стрпљиви. Захтијева покушај и грешку. Не можете директно очекивати да ће се ваш програм изводити као Усаин Болт. Поштедите ме саркастично безобразног понашања, али тако то функционише.

У стварности, питхон псицо не мења или не модификује ваш код да би га учинио паметнијим. Тешко је да ваш код буде прецизнији. Врши минималну оптимизацију како би био што ближи машинском коду.

Иако питхон псицо ваше програме чини брзим попут Ц, постоје ограничења и недостаци истих. Ево неколико које сам доле набројао:

  1. Псицо је сада застарио, необрађен и мртав. Замена је ПиПи
  2. Псицо има пуно проблема са чак питхон-ом 2.7. Али, в2.5 дјелује далеко боље и брже
  3. Псицо не ради на 64-битним машинама. Али, може се инсталирати виртуелна машина са архитектуром и386 и учинити да она ипак ради.
  4. Мац ОСКС подразумевано долази са 64-битним питхон-ом. Да би Псицо могао да функционише, треба да прекомпонујете питхон к86 из извора.

Иако има толико проблема, људи и даље користе Псицо уместо ПиПи-а. Али опет, ако мене питате, ПиПи је сјајна алтернатива Псицо-у. Псицо функционише као компајлер Јуст Ин Тиме, али ПиПи има свој властити преводилац Јуст ин Тиме. Тамо где Псицо користи пуно меморије, ПиПи користи много мање меморије него Псицо. ПиПи је још компатибилнији са оквирима попут Дјанго и Твистед.

Дакле, након свега тога, без обзира што кажем, то је за нашу сопствену употребу. Особе са позадином Псицо-а увек ће вам предложити да користите Псицо, док ће људима који желе брзину требати ПиПи. Али дозволите ми да цитирам нешто.

„Иако се осећате довољно добро са мотоциклима као што су Р1 или Хаиабуса, понекад вожња Харлеи Давидсоном има своје задовољство“

Дјелује на исти начин као и Псицо и ПиПи. Дакле, на крају, без пуно дивљења, оно што бих предложио је да користите обоје у старту, а затим наставите са оним што осећате угодно.

Препоручени чланци:

Ево неколико чланака који ће вам помоћи да сазнате више детаља о Питхон Фаст Анд Питхон псици, зато само прођите кроз линк.

  1. Линук вс Убунту-разлике
  2. 25 најневероватнијих питања и одговора на Питхон интервју
  3. Каријере у Питхон-у
  4. Питхон вс Ноде.јс
  5. Корисни водич за Кали Линук и Убунту
  6. Списак преводилаца Питхон-а

Категорија: