🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #39829

perl i multithreading (dluzsze)

#39829
From: misiu
Date: Sat, 23 Oct 2004 15:48
25 lines
2203 bytes
Mam taki problem - prosty serwer w perlu ktory ma wspoldzielic miedzy 
procesami skomplikowana strukture w stylu ref1->{ref2}->{ref3}->{ref4} itd.
I oczywiscie problem powstaje w kiedy trzeba znalezc sposob na 
wspoldzielenie tej struktury miedzy watkami/procesami:
1) forkowanie odpada, trzeba uzyc wtedy IPC::Shareable co przy tak duzej 
strukturze (kilka mega w pamieci) jest tragicznie wolne (sam serwer 
startuje ze dwie minuty po pozbyciu sie komunikatu o braku pamieci)
2) multithreading - dzisiaj okazalo sie ze takze niestety odpada
Caly dzien meczylem sie zeby zainstalowac perla 5.8 na debianie woody, 
tylko dlatego ze wbudowany tam perl 5.6 nie ma threadow. Nie obeszlo sie 
bez poprawek w kodzie bibliotek itd... ogolnie kupa roboty :)
Oczywiscie skonczylo sie na tym ze przy kompilacji uzywal switcha 
-DTHREADS_HAVE_PIDS czyli kazdy odddzielny thread traktuje jako proces i 
oczywiscie pamiec wspoldzielona NIE JEST. :(
Probowalem wiec z ithreads i tam jest podobna sytuacja, nie dosc ze 
wywalaja sie wszystkie moduly ktore uyzywaja lock() (bo ithreads ma 
wlasna implementacje niezgodna z poprzednia oczywiscie) to pamiec nie 
jest wspoldzielona, jedyna mozliwosc dzielenia to skorzystanie z 
threads::shared ktory jak na zlosc nie ma mozliwosci dzielenia tak 
skomplikowanej struktury.
Ktos ma jakies pomysly albo udalo mu sie podobne zadanie? Bylbym bardzo 
wdzieczny za refleksje na ten temat.


misiu.
Technical Details
Message-ID: <cldug6$u7$1@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.man.lodz.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.man.lodz.pl!not-for-mail
From: misiu <a@polbox.com>
Newsgroups: pl.comp.lang.perl
Subject: perl i multithreading (dluzsze)
Date: Sat, 23 Oct 2004 17:48:19 +0200
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 25
Message-ID: <cldug6$u7$1@kujawiak.man.lodz.pl>
NNTP-Posting-Host: pc-212-51-207-206.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1098546502 967 212.51.207.206 (23 Oct 2004 15:48:22 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Sat, 23 Oct 2004 15:48:22 +0000 (UTC)
User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913)
X-Accept-Language: en-us, en
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit