performance - Perl - OOP/Moose - 方法签名

标签 performance perl oop moose method-signature

我喜欢像这样在 Perl 中编写 OO 代码:

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!');
}

不幸的是,这很慢,我找不到与之等效的任何 Mouse 或 Moo。 可惜 Perl 没有像 PyPy 这样的东西。

有人知道如何使用更轻的实现来归档相同的内容吗?

最佳答案

实验Moops module 是另一个语法扩展,其工作方式非常相似。它的灵感来自 MooseX::Declare(但更快)和试图将这种语法引入核心 perl 的 p5-mop 项目。

您的示例将在没有重大更改的情况下进行翻译。如果你想指定一个 MOP 后端,你可以声明一个类似 class Foo using Moose 的类,但它默认为 Moo,这比 Moose 更简单。

关于performance - Perl - OOP/Moose - 方法签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19362116/

相关文章:

algorithm - 用于查找严格子集的快速数据结构(从给定列表中)

perl - 为什么我的 Perl/Tk Scrolled 实际上没有滚动?

java - 使用类层次结构中的某些子类

php - 在空字段上运行查询时出现错误

python - 博格设计模式

java - JNA 库的屏幕截图比机器人类慢?

performance - 系数函数速度慢

linux - 用 perl 创建目录的可靠方法?

perl - 不理解关于数组的直方图代码中的 Perl 哈希构造

java - guava Table vs 多个 HashMap 的效率