[SP-pm] Software livre em Perl

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Sun Oct 9 07:45:08 PDT 2011


2011/10/9 Andre Carneiro <andregarciacarneiro em gmail.com>

> O meu problema com threads é memória. Usa-se muita memória trabalhando com
> threads. E recentemente tive problemas sérios de vazamento de memória, e tem
> 90% de chance de ser nas threads, embora isso não seja conclusivo. Eu estou
> sabendo que houve um esforço para arrumar isso no Perl5, mas o fato é que
> ainda há problemas, e não tô afim de por a mão na massa para arrumar no
> momento, mesmo que fosse capaz disso. Fora o fato de que compilando com
> suporte a threads, tudo fica muuuito mais lento.


André, threads não deixa o compilador do Perl em si mais lento, a diferença
é que o compilador de C vai demorar um pouco mais para construir um código
Perl compilado com threads, porque o código é mais complexo. Alguns códigos
que utilizam XS podem ficar um pouco mais rápidos com uma versão do
compilador com threads do que uma versão sem threads.

Sim é verdade que variáveis compartilhadas ocupam um pouco mais memória do
que não compartilhadas e gastam um pouco mais de performance. Mas se você
seguir as boas práticas poderá reduzir os gastos com memória e performance.
Tudo está no jeito de fazer e não na linguagem em si.

"Performance considerations
       The main thing to bear in mind when comparing Perl's ithreads to
other threading models is the fact that for each new thread created, a
complete
       copy of all the variables and data of the parent thread has to be
taken. Thus, thread creation can be quite expensive, both in terms of memory
       usage and time spent in creation. The ideal way to reduce these costs
is to have a relatively short number of long-lived threads, all created
       fairly early on (before the base thread has accumulated too much
data). Of course, this may not always be possible, so compromises have to be
       made. However, after a thread has been created, its performance and
extra memory usage should be little different than ordinary code.
"




> Eu tive outros tipos de problemas com forks. Basicamente, 'threads'(na
> verdade são processos simulando threads), que simplesmente caiam com
> mensagens de segmentation fault, dentre outras bizarrices. Eu cheguei a usar
> o forks com Perl5 compilado sem threads para ganhar um pouco de desempenho,
> mesmo assim não tive sucesso. O Stan estava trabalhando comigo na época sabe
> do que eu tô falando.
>
> Nós cogitamos usar o POE na época também. Mas sinceramente eu não gostei de
> como se desenvolve usando POE, achei bem tedioso e complicadinho demais pra
> resolver coisas muito simples. Além do mais, para o problema que nós
> tínhamos na época, o AnyEvent provou-se ser muito mais eficiente, tanto em
> relação a velocidade quanto de utilização de memória.
>
>
>
>
> Cheers!
>
>
> 2011/10/8 breno <breno em rio.pm.org>
>
>> 2011/10/7 Andre Carneiro <andregarciacarneiro em gmail.com>:
>> > Nao, obrigado!
>> > Fui 'mordido' por esse módulo em várias ocasiões.
>> > Eu prefiro implementar compartilhamento de informações e continuar
>> usando o
>> > AnyEvent, ou implementar algo diferente, do que usar esse módulo de
>> novo.
>> >
>>
>> Pode ser mais específico? Seria interessante entender as situações que
>> te levaram a essa opinião. Preferencialmente, embora não
>> necessariamente, na forma de bug reports :-)
>>
>> Note que não me refiro a uma comparação com AnyEvent, e sim com o uso
>> de threads.
>>
>> []s
>>
>> -b
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>
>
>
> --
> André Garcia Carneiro
> Analista/Desenvolvedor Perl
> (11)82907780
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
http://noticiasglobal.com

"If you’ve never written anything thoughtful, then you’ve never had any
difficult, important, or interesting thoughts. That’s the secret: people who
don’t write, are people who don’t think."
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20111009/edc3c282/attachment.html>


More information about the SaoPaulo-pm mailing list