Это хорошая альтернатива Moose Perl?

Я искал альтернативу Moose (современный объектно-ориентированный Perl). Поскольку Moose работает медленно, я видел несколько постов, связанных с этой проблемой, я не хочу этого.Пример от того же автора: https://www.youtube.com/watch?v=ugEry1UWg84&feature=youtu.be&t=260

Так что я нашел эту альтернативу от того же создателя лося:

https://metacpan.org/pod/MOP MOP - протокол мета-объектов для Perl 5

Этот модуль реализует мета-объектный протокол для Perl 5 с минимальными издержками и без неосновных зависимостей (в конце концов).

Работа с УНИВЕРСАЛОМ:: Объект:

https://metacpan.org/pod/UNIVERSAL::Object

Это хороший выбор и альтернатива Moose, кто-нибудь тестирует это программное обеспечение?

Связанный пост: https://www.perlmonks.org/?node_id=1220917

Благодарю.

Примечание: я забыл упомянуть, что знаю о Му, Маусе и т. Д., Может быть, существует что-то лучшее?

2 ответа

Решение

СС очень низкий уровень, на нем основан Мокси; но это все еще доказательство концепции.

Есть более быстрые и легкие альтернативы, которые были протестированы в производстве: Moo и Mouse.

В каком контексте вы используете Moose и считаете это медленным? Конечно, это связано с накладными расходами, но большинство из них происходит во время запуска (компиляция); затем, во время выполнения, большинство функций дешевы (если вы делаете ваши классы неизменяемыми), как объясняется в документации. Со временем Moose стал стандартом де-факто для объектно-ориентированного программирования, и у него очень и очень широкая экосистема (поиск по MooseX в metacpan возвращает 820 результатов). Не сдавайся рано.

Если вам действительно нужно более быстрое время запуска (как, например, в обычной CGI-среде), наиболее подходящей альтернативой Moose является Moo, Minimal Object Orientation. Он действительно легкий, не имеет XS-зависимостей, но реализует значительное подмножество Moose (кроме того, его синтаксис полностью совместим с Moose, поэтому вы можете перейти на Moose в любое время позже, если вам понадобится часть функциональности, которую вы обнаружите в Moo), У этого также есть богатая экосистема.

Другие вопросы по тегам