【发布时间】:2013-10-14 14:05:46
【问题描述】:
我喜欢这样在 Perl 中编写面向对象的代码:
use MooseX::Declare;
use Method::Signatures::Modifiers;
use v5.14.2;
class Talker
{
method talk (Str $text) {
$self=>say $text;
}
my $talk_object = Talker->new();
$talk_object->talk('Hello!');
}
不幸的是,这很慢,我找不到任何与其等效的鼠标或 Moo。 可惜 Perl 没有 PyPy 之类的东西。
有人知道如何使用较轻的实现来归档相同的内容吗?
【问题讨论】:
-
到底慢怎么办?如果您谈论的是使用 Moose 对编译时的影响,最好使用某种持久性代码来避免重复编译。
-
是的,这是编译时间。至少,就我现在所看到的而言。试图避免重复编译在这里不是一个很好的技巧......:/。将看看Moops。不幸的是,由于这些混乱,OOP 在 Perl 中的品味仍然很差。
标签: performance perl oop moose method-signature