[python] Optimalizace vicenasobneho spousteni skriptu

slush slush na slush.cz
Čtvrtek Březen 5 22:11:22 CET 2009


Interpreter Pythonu by mel byt v pameti pouze jednou, kazdopadne separatni
budou hlavne pametove prostory - a garbage collectory deseti instanci muzou
zabrat peknych par mega. Jen tak pro zajimavost - kolik RAM bude k
dispozici?

Osobne bych to resil na urovni threadu. Tedy jeden proces a pro kazdy port
separatni vlakno. Chova se to prakticky stejne jako Vami popsane procesy,
ale takove reseni sdili pametovy prostor.

Ohledne komunikace bych pravdepodobne zvolil D-bus. Vyvolavani metod
(prikazu) jednotlivych vlaken je tak velmi jednoduche (jednim prikazem v
shellu, pripadne mala ovladaci aplikace, co provede dbus prikaz na zaklade
cmd parametru a ukonci se). Nelekejte se, dbus demon sam o sobe zabira par
kilobytu pameti (konkretne na mem desktopu s desitkami dbus sluzeb 1MB) a
jedna se o velmi elegantni reseni i na takove nasazeni.

Marek

2009/3/5 sebastian <sebastian na sendmail.cz>

> Zdravim,
> resim takovy "problem" a nevim jakou cestou se dat. Dovolim si Vas uvest do
> obrazu: v miniaturni embedded desce (RouterStation od UBNT) mam funkcni
> Python 2.5 - k teto desce mam pripojeno nekolik seriovych portu (mam funkcni
> pyserial); na portech budou pripojeny ruzne periferie; puvodni idea byla ze
> pro kazdou periferii vytvorim skript kteremu pomoci parametru pridam pri
> spusteni co ma delat; pokud by skripty spoustela obsluha rucne urcite by to
> fungovalo dobre; v budoucnu je ale bude volat aplikace provozovana na jinem
> stroji pomoci ssh, bude je volat pomerne casto a navic bude mit aplikace v
> jednom okamziku otevreno vice ssh spojeni v kterych bude volat vice techto
> skriptu; co mne trochu trapi je efektivnost vyse popsaneho; chapu to spravne
> tak, ze pro kazde spusteni skriptu se nejdrive nahraje do pameti samostatna
> instance Pythona? Cili pokud spustim treba pet skriptu budu mit zaroven v
> pameti pet interpretu Pythona a zaroven pokud v jeden okamzik spustim dva
> ruzne skripty budou se do pameti natahovat dva interpreti?
>
> Obavam se, ze to chapu spravne :-(
>
> Mohl bych cele ovladani prepsat do jednoho skriptu ale nevim jak bych potom
> resil situaci kdy jeste jeden skript respektive funkce obsluhujici jednu
> periferii neskoncila a ja potreboval ovladat jinou.
>
> A proto bych uvital nazor nekoho dalsiho jakou cestou se vydat.
>
> Predem diky za reakce.
>
> Sebastian
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
------------- dal?í ?ást ---------------
HTML p?íloha byla odstran?na...
URL: <http://www.py.cz/pipermail/python/attachments/20090305/a7fcb856/attachment.htm>


Další informace o konferenci Python