The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Class::Std::Fast_XS - speed up Class::Std::Fast by adding some XS code

SYNOPSIS

 use Class::Std::Fast_XS

DESCRIPTION

Speeds up Class::Std::Fast by replacing it's accessors/mutators and DESTROY method by XS variants.

The speed gain varies by platform:

Using perl 5.8.8 on Ubuntu 8.04 (32bit) Linux, the measured speed gain is around 7.5% for accessors (getters) and around 35% for mutators (setters). DESTROY was around 220% faster on this platform.

On a RHEL 5.0 box (64bit) with perl-5.8.8 the speed gain is around 40% for getters and around 60% for setters.

The speed gain on ActivePerl 5.8.8 (822) on Windows XP built with MinGW/MSYS/gcc is around 45%

ActivePerl 5.10 (1001) on Windows XP yielded around 30% for accessors and 50% for mutators.

USAGE

All you have to do is to require this module before you load/create Class::Std::Fast- based classes. More precisely, all Class::Std::Fast-based attributes (:ATTR) after loading Class::Std::Fast_XS will be affected.

If you're running a mod_perl environment, you should probably load Class::Std::Fast_XS from your apache config or your startup.pl.

BUGS AND LIMITATIONS

  • Loading

    Only attributes detected after loading are affected.

    Only classes created after loading are affected by DESTROY

  • No object cache

    Class::Std::Fast's DESTROY does not support Class::Std::Fast's object cache yet. This does not mean that classing using the object_cache facility don't work, it just means that the object_cache has no effect yet.

ACKNOWLEDGEMENTS

Based on Class::XSAccessor and AutoXS by Steffen Müller.

LICENSE AND COPYRIGHT

Copyright 2008 Martin Kutter.

This library is free software. You may distribute/modify it under the same terms as perl itself

AUTHOR

Martin Kutter <martin.kutter fen-net.de>

REPOSITORY INFORMATION

 $Rev: 468 $
 $LastChangedBy: kutterma $
 $Id: Fast_XS.pm 468 2008-05-21 19:29:31Z kutterma $
 $HeadURL: http://svn.hyper-framework.org/Hyper/Class-Std-Fast_XS/trunk/lib/Class/Std/Fast_XS.pm $