Class::Accessor::Fast::XS - XS replacement for Class::Accessor::Fast


This module has been stated rudimentary in favor of Class::XSAccesor::Compat, that implements the same API. Steffen Mueller did a great job improving concept of XS accessors in Class::XSAccesor framework and keep improving it further.

At this moment (Dec 2010) Class::XSAccesor::Compat generates 25% faster accessors than this module and has some thread safety fixes. There is no point in porting fixes or improvements from Steffen's code as you can just change the name and switch over.


This module is a XS based replacement for Class::Accessor::Fast. Just replace Class::Accessor::Fast with Class::Accessor::Fast::XS and it should just work.

Read Class::Accessor::Fast and Class::Accessor for API docs and usage.

XS is about performance, but usually optimized accessors like Class::Accessor::Fast and many other with similar optimizations give you enough performance to make accessors NOT a bottleneck. In a real applications switch from Class::Accessor::Fast to this module can give you 1-5% boost.

Want to compare performance of different solutions? Use App::Benchmark::Accessors, but do remember that these benchmarks don't take into account various properties and advances of different implementations.


This code is heavily based on Steffen Mueller's Class::XSAccessor.


There are enormous amount of different accessors generators with different properties, behavior and performance, here is list of some:

accessors, Class::Accessor, Class::MethodMaker, Class::XSAccessor, Object::Accessor...


Ruslan Zakirov <>


This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.