[SP-pm] signatures VS performance

Eden Cardim eden at insoli.de
Mon Jan 14 13:21:44 PST 2013


>>>>> "Stanislaw" == Stanislaw Pusep <creaktive-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org> writes:

    Stanislaw> Tentando salvar a parte construtiva da thread :P
    Stanislaw> Intuitivamente, signatures em Perl seriam uma perda de
    Stanislaw> velocidade.  Outras pessoas que não Cron foram
    Stanislaw> surpreendidas com a descoberta de
    Stanislaw> que Method::Signatures pode dar um ganho de
    Stanislaw> desempenho: http://
    Stanislaw> www.dancygier.com/wordpress/2011/03/06/
    Stanislaw> methodsignatures-blazing-fast-and-makes-me-sane/ Quando
    Stanislaw> saiu esse post, testei e os meus números bateram com o
    Stanislaw> benchmark. Hoje, com Perl mais novo e respectivos
    Stanislaw> módulos atualizados, mudou um pouco:

A motivação desse cara é duvidosa (pra não dizer idiota) e o artigo
inteiro é bastante raso. No caso, usar um módulo com a sofisticação do
Method::Signatures (que gera dependência binária) pra economizar dois
caracteres de digitação em cada subrotina, francamente, não vejo
valor. Se ele quiser economizar caracteres, é bem melhor (e mais
performático) usar um source filter. Se ele quiser velocidade, existem
formas melhores e mais eficientes de se fazer isso.

Ele quer métodos com assinatura mas não quer tipos, ora, tirando os
dois caracteres de economia, em linguagens dinâmicas a utilidade das
assinaturas (e o Stevan concordaria comigo) está justamente no fato de
poder declarar tipos e usar despacho múltiplo (como em
https://metacpan.org/module/MooseX::MultiMethods) e currying pra
viabilizar arquiteturas mais flexíveis, como se faz em linguagens como
OCAML e Haskell (quanto a assinaturas, essa é a origem da reclamação
do Stevan). Ele tem razão em não querer a validação, porque se a
validação não passar, em runtime, o que você vai fazer?

-- 
Eden Cardim -- Insolide Soluções de TI Ltda.
+55 11 9644 8225
http://insoli.de


More information about the SaoPaulo-pm mailing list