[SP-pm] WWW::Curl::Multi

Nilson Santos Figueiredo Jr. acid06 at gmail.com
Mon Sep 7 09:37:40 PDT 2009


2009/9/7 Otávio Fernandes <otaviof at gmail.com>:
> Eu acredito que você se lembra muito bem, durante muito tempo quando
> você passava a instrução para compilar com suporte a threads havia uma
> mensagem de aviso nada amigável sobre. Porem, acompanhando o seu
> histórico na lista eu vejo que você usou muito Perl sobre Windows, e
> sendo este SO orientado a threads, influiu nos resultados de sucesso
> que você teve.

Bom, o fork() é emulado em Windows mas funciona da mesma maneira. Eu
passei a utilizar threads porque eu acho que ficar cuidando de fork()s
é uma bagunça.

Nas vezes em que eu precisava de usar processos por falta de suporte à
threads pelo Perl do sistema, pelo menos eu tentava utilizar o módulo
forks:

  http://search.cpan.org/~rybskej/forks-0.33/lib/forks.pm

Esse módulo é bastante interessante, pois suporta a mesma API de
threads, mas utilizando processos.
Algumas coisas são mais ineficientes, como varíaveis compartilhadas,
mas funciona.

Mas ficar insistindo em múltiplos processos hoje em dia é como
insistir no protecionismo da indústria automobilística brasileira. Tem
muita gente que acha certo, mas na verdade é um retrocesso.

Em alguns anos, até mesmo os threads serão heavy-weight demais, pois a
tendência é aumentar o número de unidades de execução, diminuindo a
capacidade individual. O scheduler consegue fazer decisões bem
melhores para threads que pra processos, até porque a troca de
contexto entre threads é mais barata se comparado a uma troca de
contextos completa.

-Nilson Santos F. Jr.


More information about the SaoPaulo-pm mailing list