Это LWP :: Просто быстрее, чем полный LWP?

Иногда я использую модуль LWP :: Simple Perl, который, как я понимаю, является уменьшенной версией полного модуля LWP. Я использую его вслепую, потому что кто-то предложил мне использовать его некоторое время назад. Какая польза от использования его по всему пакету, быстрее и проще в использовании?

2 ответа

LWP :: Simple не быстрее, чем LWP :: UserAgent, поскольку он использует LWP :: UserAgent. Это просто более простой интерфейс.


Вопросы типа "скорее быстрее, чем B" всегда должны получать один и тот же ответ: попробуйте! В вашей среде, с типами данных, которые вы обычно используете, и т.д. Здесь вы найдете короткий сценарий, чтобы вы начали:

use strict;
use warnings;

use Benchmark qw/ cmpthese /;
use LWP::UserAgent;
use LWP::Simple;

my $url = 'http://localhost/';

my $ua = sub {
 my $ua = LWP::UserAgent->new;
 my $res = $ua->get( $url );
 if ( $res->is_success ) {
 my $content = $res->decoded_content;
 }
};

my $simple = sub {
 my $content = get( $url );
};

cmpthese( -60, {
 'LWP::UserAgent' => $ua,
 'LWP::Simple' => $simple,
});

В моей системе, где http://localhost/ будет возвращать маленькую индексную страницу, LWP::Simple на самом деле немного медленнее:

Rate LWP::Simple LWP::UserAgent
LWP::Simple 401/s -- -3%
LWP::UserAgent 414/s 3% --

Но трудно сказать, что будет, когда URL-адрес даст вам образ DVD, например

licensed under cc by-sa 3.0 with attribution.