gpt4 book ai didi

perl - Perl Web 框架之间是否有任何性能比较?

转载 作者:行者123 更新时间:2023-12-03 21:15:09 24 4
gpt4 key购买 nike

我看到有人提到 Embperl 是最快的 Perl Web 框架(听起来像是未经证实的观点,而且是过时的)。

我想知道是否就主要稳定的 Perl web 框架的相对速度达成了共识,或者理想情况下,相同示例 webapps 的实现之间的某种基于事实的性能比较,或单个功能(例如 session 处理或表单数据处理) , 等等...?

更新 : 这个问题是特别关于不同框架的速度比较,执行相同/等效的任务。我感谢善意,但我已经知道 速度并不是我应该考虑的唯一标准。我不是在寻求哲学建议。不管你信不信,作为框架,你实际上可以通过在它们上运行相同目的的任务/代码/应用程序来比较它们的速度(例如,使用一组给定的模板化插入等呈现给定的表单等。 .),即使每个框架的完整功能不是 100% 相同。

最佳答案

我不想进入解释讨论(对于大多数现实世界场景,这些开销根本没有影响) - 但这里是我的测试:

1. 纯普拉克

zby@zby:~/progs/bench$ cat app.psgi 

sub {
my ( $env ) = @_;
return [
200,
[ 'Content-Type' => 'text/text' ],
[ 'Hello World' ]
];
}
zby@zby:~/progs/bench$ plackup
HTTP::Server::PSGI: Accepting connections at http://0:5000/

用简单 ab -n 10000我得到

每秒请求数:2168.05 [#/sec](平均值)

2. 舞者
zby@zby:~/progs/bench$ cat dancer.pl 
#!/usr/bin/perl
use Dancer;

get '/' => sub {
return "Why, hello there";
};

dance;
zby@zby:~/progs/bench$ perl dancer.pl
>> Dancer server 1950 listening on http://0.0.0.0:3000
== Entering the development dance floor ...

通过类似的 ab 测试,我得到 Requests per second: 1570.49 [#/sec] (mean)
3. Mojolicious::Lite
zby@zby:~/progs/bench$ cat mojo.pl 
# Using Mojolicious::Lite will enable "strict" and "warnings"
use Mojolicious::Lite;

# Route with placeholder
get '/' => sub {
my $self = shift;
$self->render(text => "Hello!");
};

# Start the Mojolicious command system
app->start;
zby@zby:~/progs/bench$ perl mojo.pl daemon
Sat Jan 22 20:37:01 2011 info Mojo::Server::Daemon:320 [2315]: Server listening (http://*:3000)
Server available at http://*:3000.

结果:
每秒请求数:763.72 [#/sec](平均值)

4. 催化剂。

不幸的是,代码太长而无法在此处完整呈现,但 Root Controller 包含:
sub index :Path :Args(0) {
my ( $self, $c ) = @_;

# Hello World
$c->response->body( 'Hello World' );
}

结果是:

每秒请求数:727.93 [#/sec](平均值)

5.WebNano

zby@zby:~/progs/bench$ cat webnano.psgi
{
package MyApp;
use base 'WebNano';
1;
}

{
package MyApp::Controller;
use base 'WebNano::Controller';

sub index_action {
my $self = shift;
return 'This is my home';
}
1;
}
MyApp->new()->psgi_callback;
zby@zby:~/progs/bench$ plackup webnano.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/

结果:

每秒请求数:1884.54 [#/sec](平均值)

这将在添加更多功能后发生变化。

关于perl - Perl Web 框架之间是否有任何性能比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4687127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com