Я выложил то, что у меня было https://github.com/yko/mojo-base-xs
Но, увы, проведя новые тесты, обнаружил проблему с threded perl
(тестировалось на perl без thread и multiplicity)
Буду исправлять, но сроков не обещаю
--
Regards
yko
Спасибо, дружище. То, что надо. Насчет threaded я тоже попробую разобраться.
--
Олег Алистратов
Для DESTROY пришлось сделать костыль: генерирующая функция вызывается в
режиме G_EVAL, иначе она будет создавать reference to dead object а в
DESTROY это фатально :( по крайней мере для perl 5.10
Скорость могла незначительно упасть. Особенно это касается генерации
значений по умолчанию из coderef. Но все равно должно работать быстрее
чем pure perl. Бенчмарки не делал. К тому же, с большой вероятностью,
потекла память.
Дальше планирую зачистку, тестирование и мелкую оптимизацию всего всего,
потому как accessor body вырос до неприличия.
Прирост по скорости для Mojolicious - приложений до 20% на совсем
жестком использовании аксессоров. В реальной жизни будет 5-10%, что тоже
неплохо. Использовать можно как совместно с Mojolicious ("инфицирует"
функционал штатного Mojo::Base) так и без него.
Один из моих докладов на BlackPerl должен базироваться Mojo::Base::XS
как примере.
--
Regards
yko
On 08/14/2011 11:37 AM, Oleg Alistratov wrote:
>
On 27.08.2011 14:15, Yaroslav Korshak wrote:
> Известные баги и утечки памяти поправлены, Mojo::Base::XS ушел на CPAN,
> будет проиндексирован через пару часов. Пока - в репозитории
> https://github.com/yko/mojo-base-xs
>
> Прирост по скорости для Mojolicious - приложений до 20% на совсем
> жестком использовании аксессоров. В реальной жизни будет 5-10%, что тоже
> неплохо. Использовать можно как совместно с Mojolicious ("инфицирует"
> функционал штатного Mojo::Base) так и без него.
Да это просто бомба. Спасибо огромное за труд.
--
Олег Алистратов