abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 2
včera 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 24
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 1
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 42
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
16.2. 23:13 | Nová verze

Byla vydána verze 0.92.1 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání. Řešen je mimo jiné problém s verzí 0.92, jež rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Více v příspěvku na blogu Davida Revoye, autora open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu.

Ladislav Hagara | Komentářů: 0
16.2. 16:26 | Bezpečnostní upozornění

Byla vydána verze 1.1.0e kryptografické knihovny OpenSSL. Dle bezpečnostního upozornění 20170216 byla opravena závažná bezpečnostní chyba CVE-2017-3733.

Ladislav Hagara | Komentářů: 1
16.2. 13:03 | Pozvánky

GNOME hackaton proběhne v Brně na FIT VUT v Red Hat Labu (budova Q) v pondělí 20. února od 15:00. Registrace není nutná, ale pokud dáte na FaceBooku vědět, že plánujete dorazit, pomůže to s plánováním.

Ladislav Hagara | Komentářů: 0
16.2. 13:02 | Pozvánky

Únorový Prague Containers Meetup se koná 21. února v budově MSD. Můžete se těšit na přednášky o tom, proč a jak používat kontejnery a zároveň získat zajímavý pohled na historii a budoucnost kontejnerů.

little-drunk-jesus | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 656 hlasů
 Komentářů: 52, poslední 13.2. 12:45
Rozcestník
Reklama
Štítky: není přiřazen žádný štítek

Vložit další komentář
28.10.2013 21:31 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Stackless python
Takhle se neustále načítají nové a nové tasklety s požadavky na webové stránky, takže program pořád něco dělá, místo aby vždy čekal 2 vteřiny na navázání spojení.
A to by nestačil CPython s nějakou knihovnou pro asynchronní zpracování?
Bystroushaak avatar 28.10.2013 21:41 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
V zásadě ano. Jenže ono by se to tak moc nelišilo a ve výsledku bych programoval skoro to samé, jen s tím rozdílem, že druhý kód by byl nepřehlednější a musel bych použít jiné knihovny, ne ty svoje oblíbené. Stackless je docela příjemná abstrakce pro programátora.
28.10.2013 22:00 sam
Rozbalit Rozbalit vše Re: Stackless python
Obavam se, ze ne GIL nelze obejit, musela by se prepsat vetsina kodu CPythonu.

Btw. pro takove pripady a nejen pro ne ocenuju genialni navrh Haskellu a vlastne i implementaci GHC. Nejen ze je trivialni paralelizovat, ale bezi to o rady rychleji.

28.10.2013 21:41 chrono
Rozbalit Rozbalit vše Re: Stackless python
Nebolo by dnes rozumnejšie používať greenlet (prípadne niečo, čo greenlet používa)?
Bystroushaak avatar 28.10.2013 21:44 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Greenlet má jen kooperativní multitasking, pokud se nepletu.
28.10.2013 22:44 luky
Rozbalit Rozbalit vše Re: Stackless python
V cem je problem s 800 thready, GIL? Samotny Linux skaluje dobre a muzete si vytvorit desitky tisic threadu aniz by se to neja vyrazne projevilo v behu systemu.
Bystroushaak avatar 28.10.2013 22:47 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Já jsem to ani moc nezkoumal, stačilo mi, že jsem musel provést hardreset jednou, poté co to sežralo všechny systémové prostředky tak dokonale, že pomohl až sysrq (jenže tam byla zábavná smyčka, která zase otevírala nové thready, takže proto hardreset).
kralуk avatar 28.10.2013 23:00 kralуk | skóre: 29 | blog: Untitled
Rozbalit Rozbalit vše Re: Stackless python
Pokud si dobře vzpomínám, tak problém je v tom, že CPython nevytváří nativní (pthreads) thready, ale nějaké svoje vlastní a kód stejně běží v jednom threadu.
Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
Bystroushaak avatar 28.10.2013 23:23 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
kód stejně běží v jednom threadu
Jo, tohle je jedna z bolestí pythonu.
xkucf03 avatar 29.10.2013 11:49 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stackless python

Takže je pořád jediný způsob, jak využít vícejádrový procesor, spustit více interpretů Pythonu?

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
Jakub Lucký avatar 29.10.2013 11:57 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Stackless python
reálně ano... Python k tomu má rozhraní jménem multiprocessing se stejným API jako thready...

Obecně se GIL považuje za největší problém CPythonu (referenční implementace Pythonu), se kterým se již roky marně bojuje. Třeba PyPy (alternativní interpreter) tímhle netrpí
If you understand, things are just as they are; if you do not understand, things are just as they are. (Zen P.) Blogísek
pavlix avatar 29.10.2013 18:56 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Stackless python
Nikoliv, ani tomu tak nebylo.
29.10.2013 00:34 Radek Podgorny | skóre: 16
Rozbalit Rozbalit vše Re: Stackless python
cpython samozrejme vytvari native thready. problem je, ze kvuli gil muze spoustet pythoni kod jen vzdy v jednom z nich (v dany okamzik). pro paralelizaci veci mimo python (rozumej knihovny napsane v cecku) to slouzi skvele... ...a kdyz ne, tak mame multiprocessing. ;-)
kralуk avatar 29.10.2013 12:34 kralуk | skóre: 29 | blog: Untitled
Rozbalit Rozbalit vše Re: Stackless python
Ok, dík za objasnění...
Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
pavlix avatar 29.10.2013 01:43 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Stackless python
To je o těch vlastních vláknech je velmi rozšířená fáma. Ve skutečnosti se jen používá globální zámek pro zpracování pythoního kódu.
29.10.2013 01:12 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
K čemu stackless v době kdy je tu gevent?
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
Bystroushaak avatar 29.10.2013 01:47 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Je to založené na greenletech, tzn je to zase kooperativní, ne?
Bystroushaak avatar 29.10.2013 01:48 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
The greenlets all run in the same OS thread and scheduled cooperatively. This means that until a particular greenlet gives up control, by calling a blocking function that will switch to the Hub, other greenlets won’t get a chance to run.
Jo.
pavlix avatar 29.10.2013 01:49 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Stackless python
To vadí?
Bystroushaak avatar 29.10.2013 01:54 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Tak zrovna u práce s webem tě to nutí používat asynchronní moduly, nebo prostě budeš muset čekat, než se daná věc stáhne. A když už musíš používat asynchronní moduly, tak se to celé stává jaksi zbytečné.

Stackless ti dovoluje používat klasické moduly do té doby, dokud jsou napsané v pythonu a nejedná se o C API. Ty moduly ani neví, že běží paralelně. Já tak můžu používat moje oblíbené knihovny na stahování a parsování a nic dalšího neřešit, protože to za mě řeší Stackless.
pavlix avatar 29.10.2013 02:21 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Stackless python
A když už musíš používat asynchronní moduly, tak se to celé stává jaksi zbytečné.
Právě naopak. Ve chvíli, kdy používáš asynchronní IO, to celé dávat smysl začíná.
Bystroushaak avatar 29.10.2013 11:59 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Šlo mi spíš o to, že ve chvíli kdy používáš asynchronní knihovny, tak si vystačíš s čistým pythonem (můžeš používat generátory).
pavlix avatar 29.10.2013 19:05 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Stackless python
Nějak nechápu, kam míříš.

Já si asynchronní službu představuju jako službu, jejíž základním kamenem je využívání neblokujících volání a hlavní smyčky za pomoci prostředků operačního systému pro čekání na vstup/výstup. Chápu, že asynchronní lze brát i v mnohem širším významu, ale v souvislosti s programováním různých síťových a systémových služeb a nástrojů, si s takto úzkou definicí vystačím a nepotřebuju k tomu preemptivní multitasking.
tak si vystačíš s čistým pythonem
K tomu si vystačíš i bez Pythonu, stačí ti C a pár systémových volání. Nicméně jak obecné C, tak obecný Python trpí tím, že na file descriptorech založené asynchronní knihovny mezi sebou nejdou vždy dobře kombinovat a už vůbec se dobře nekombinují s knihovnami, které používají vlákna, podprocesy a podobné prostředky.

Vidím to tak, že možnosty Pythonu i toho, jak se dneska používá C jsou na tolik špatné, že kdyby se tohle v obou jazycích vyřešilo (včetně interoperability mezi řešením pro C a Python), sníží se vstupní bariéra pro programování komplikovanějších aplikací v obou jazycích natolik, že bych se nebál to nazývat takovou malou programátorskou revolucí. Všiml jsem si, že v Pythonu už se o to nějakým způsobem snaží a chystám se zjistit, co v tomhle ohledu nabízí open source knihovny pro C.
30.10.2013 12:30 Mike
Rozbalit Rozbalit vše Re: Stackless python
Gevent umožňuje monkey patching všech standardních Python modulů (a v důsledku i externích modulů, protože patchuje takové základní věci jako socket, thread, select, os.fork, atp., aby běhaly ve skutečnosti přes gevent). Je extrémně rychlý (využívá event loop založenou na libevent, která na každé platformě využívá to nejlepší řešení jako backend - epoll na Linuxu, kqueue na FreeBSD, atp.).

Navíc má gevent skvělé jednoduché pythonic API, není to žádné monstrum jako třeba Twisted (ale dokáže s Twisted v případě potřeby spolupracovat). A na rozdíl od Stackless člověk nemusí mít speciální interpreter, je to normální modul do standardního CPythonu.
29.10.2013 13:40 JS1 | skóre: 2 | blog: intuition_pump
Rozbalit Rozbalit vše Re: Stackless python
A co goroutines? To funguje ve srovnani s Stackless Pythonem jak?
Bystroushaak avatar 29.10.2013 16:12 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
29.10.2013 13:57 alfonz mucha
Rozbalit Rozbalit vše Re: Stackless python

A já si naivně myslel, že kvůli tomuhle mám vždy právě instalovat pypy > abych to nemusel řešit ;)

no nevadí... tak aspoň rychlé výsledky pro normální python kód.

$ time python tests2.py
('starting', 'prvni', 1383050839.110662)
('starting', 'druhy', 1383050839.677418)
('starting', 'treti', 1383050840.239811)
('ending', 'prvni', 1383050847.908535, '-', 8.79787302017212)
('ending', 'treti', 1383050848.091353, '-', 7.851541996002197)
('ending', 'druhy', 1383050848.176817, '-', 8.499398946762085)

real    0m10.093s
user    0m8.557s
sys    0m1.516s

$ time pypy tests2.py
('starting', 'prvni', 1383050858.987054)
('starting', 'druhy', 1383050858.987302)
('starting', 'treti', 1383050858.987473)
('ending', 'prvni', 1383050860.588778, '-', 1.6017239093780518)
('ending', 'treti', 1383050860.58912, '-', 1.601646900177002)
('ending', 'druhy', 1383050860.58933, '-', 1.6020278930664062)

real    0m1.982s
user    0m1.680s
sys    0m0.060s

Já to například dělám tak, že pokud jsou v cestě masivní výpočty, tak nejdříve testuji, jestli je to spustitelné přes pypy. Pokud jo, tak to obvykle dále neřeším. Další možnost beru threading a multiprocessing. Stackless vypadá také pěkně, ale není většinou součástí, takže se může těžko používat. Pypy například již často bývá.

29.10.2013 14:02 alfonz mucha
Rozbalit Rozbalit vše Re: Stackless python
ještě sem můžeme hodit rychlý výsledek pro python3
$time python3 tests2.py
starting prvni 1383051554.39305
starting druhy 1383051554.393192
starting treti 1383051554.393255
ending prvni 1383051565.460286 - 11.067235946655273
ending treti 1383051565.460516 - 11.067260980606079
ending druhy 1383051565.460628 - 11.06743597984314

real	0m11.192s
user	0m11.141s
sys	0m0.040s
29.10.2013 14:13 JS1 | skóre: 2 | blog: intuition_pump
Rozbalit Rozbalit vše Re: Stackless python
Já to například dělám tak, že pokud jsou v cestě masivní výpočty, tak nejdříve testuji, jestli je to spustitelné přes pypy.
Je rozdil mezi concurrency (jak se tomu rika cesky?) a paralelismem. Viz prednaska.

Concurrency je o tom, jak strukturovat program, aby nemusel cekat na jine casti. Paralelismus je o behu na vice procesorech kvuli vykonu. Blogpost je o concurrency, vase reseni se tyka paralelismu.
29.10.2013 15:00 alfonz mucha
Rozbalit Rozbalit vše Re: Stackless python
Ok, jasně... to jsem si hned neuvědomil. Stále mi však přijde, že paralelní řešení může řešit problémy concurrency. Jasně ne úplně a ne všechny, ale obvykle to může být řešení dostatečné, ne? Nebo je to jinak?
29.10.2013 15:35 JS1 | skóre: 2 | blog: intuition_pump
Rozbalit Rozbalit vše Re: Stackless python
No, ne vzdycky. Stackless byl tusim treba pouzit v nekterych hrach, kdy kazdy akter bezel ve vlastni korutine. Tam opravdu neslo o paralelismus, ale spis o jednoduchost programovani.

Me by zajimalo, jestli nekdo zkousel takto (na hru, nebo simulaci mnoha agentu) pouzit jazyk Go. Myslim, ze by se to mohlo hodit.
Bystroushaak avatar 29.10.2013 16:11 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
K pypy jsem se popravdě ještě nedostal, ale už včera jsem si ho na základě diskuze přidal do TODO :)
Stackless vypadá také pěkně, ale není většinou součástí, takže se může těžko používat.
Tohle je aplikace, která poběží jen u mě na serveru, nic co bych sdílel mezi více počítači, takže v tomhle konkrétním případě to není velká vada.
Bystroushaak avatar 30.10.2013 01:01 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Support for Stackless and greenlets are now integrated in the normal PyPy. More detailed information is available here.
Pěkné!
30.10.2013 22:14 Filip Svoboda
Rozbalit Rozbalit vše Re: Stackless python
Tohle mi prijde mega uchylne.. proc nepouzit neblokujici sockety a hlidat je select()em? pripadne je vyhradit do jednoho vlakna...
Bystroushaak avatar 31.10.2013 01:49 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
Proč jo?
7.11.2013 01:31 Filip Svoboda
Rozbalit Rozbalit vše Re: Stackless python
+ vyhnes se ztrate vykonu pri prepinani

+ je to standardni vzor kterymu kazdej rozumi

+ nepotrebujes hackovat interpret, tj lepsi kompatibilita

- potrebujes neblokujici knihovny pro zrani io streamu

- jednu smycku v programu atd,..

navic podle me muze to stackless, protoze to bude zahackovany dost v jadru interpretu zpusobit nepekny chyby, ktery bude tezky odladit.
Bystroushaak avatar 7.11.2013 20:50 Bystroushaak | skóre: 31 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stackless python
+ nepotrebujes hackovat interpret, tj lepsi kompatibilita
Přidával jsem to na začátek blogpostu - v pypy je Stackless by default, takže se nic hackovat nemusí.
+ je to standardni vzor kterymu kazdej rozumi
Jo, ale je to hnus (pro mě). A když máš náhodou pracovat s víc asynchronníma knihovnama najednou, tak se to začíná špagetovat. Nehledě na to, že některé knihovny asynchronní imho neseženeš (např. html parser).
+ vyhnes se ztrate vykonu pri prepinani
Ok, tohle beru. Ta ztráta není moc velká, ale u některých aplikací by to vadit mohlo.
navic podle me muze to stackless, protoze to bude zahackovany dost v jadru interpretu zpusobit nepekny chyby, ktery bude tezky odladit.
Tohle je problém, který budu řešit pokud na něj narazím, nemá smysl se nervovat něčím, co dost možná ani neexistuje.
8.11.2013 02:38 Filip Svoboda
Rozbalit Rozbalit vše Re: Stackless python
v pypy je Stackless by default
OK, chapu, existuje interpret co to ma v sobe.. pro me je python to, co se spusti kdyz napisu do shellu "python", a uplne nejradej mam interprety/technologie ktery fungujou kazdymu naprosto stejne, tj jednou je to "python", tak ma konstantni syntax, zakladni lib set atd.. co kus interpretu to original mi na pythonu z hlediska profesionalniho nasazeni vadi uplne nejvic
Jo, ale je to hnus (pro mě). A když máš náhodou pracovat s víc asynchronníma knihovnama najednou, tak se to začíná špagetovat. Nehledě na to, že některé knihovny asynchronní imho neseženeš (např. html parser).
async http server/klient jsem si musel napsat sam, opravdu je o takovy knihovny nouze (nebo spatne hledam), to je dost velka nevyhoda. kod kterej si takhle stvoris je ale porad 100% ve tvoji moci a nebude ti ho nic nikde prerusovat kdyz nema (samozrejme krome prepinani procesu v OS), tohle ocenis predevsim jakmile zacnes ladit urcity casti kodu pro high-throughtput nebo predevsim low latency response, tam to proste vadi (urcite to ale neni pripad bezneho web crawleru, apod,..)
Tohle je problém, který budu řešit pokud na něj narazím, nemá smysl se nervovat něčím, co dost možná ani neexistuje.
Me moje situace dodavatele prumyslovych reseni mne nuti vytvaret kod kterej nepada a jsem schopnej za nej smluvne rucit (tj ze kod pobezi a nevyskytne se v nem zadna chyba), proto cim vice veci mam v moci a cim mene veci je dynamicky alokovanych/zavislych/rozbitelnych, .. tim lip

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.