Unix/Linux Go Back    

CentOS 7.0 - man page for readonly::xs (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

XS(3)			       User Contributed Perl Documentation			    XS(3)

       Readonly::XS - Companion module for Readonly.pm, to speed up read-only scalar variables.

       This document describes version 1.05 of Readonly::XS, February 24, 2009.

	 Install this module, but do not use it.

       The Readonly module (q.v.) is an effective way to create non-modifiable variables.
       However, it's relatively slow.

       The reason it's slow is that is implements the read-only-ness of variables via tied
       objects.  This mechanism is inherently slow.  Perl simply has to do a lot of work under
       the hood to make tied variables work.

       This module corrects the speed problem, at least with respect to scalar variables.  When
       Readonly::XS is installed, Readonly uses it to access the internals of scalar variables.
       Instead of creating a scalar variable object and tying it, Readonly simply flips the
       SvREADONLY bit in the scalar's FLAGS structure.

       Readonly arrays and hashes are not sped up by this, since the SvREADONLY flag only works
       for scalars.  Arrays and hashes always use the tie interface.

       Why implement this as a separate module?  Because not everyone can use XS.  Not everyone
       has a C compiler.  Also, installations with a statically-linked perl may not want to
       recompile their perl binary just for this module.  Rather than render Readonly.pm useless
	these people, the XS portion was put into a separate module.

       Programs that you write do not need to know whether Readonly::XS is installed or not.
       They should just "use Readonly" and let Readonly worry about whether or not it can use XS.
       If the Readonly::XS is present, Readonly will be faster.  If not, it won't.  Either way,
       it will still work, and your code will not have to change.

       Your program can check whether Readonly.pm is using XS or not by examining the
       $Readonly::XSokay variable.  It will be true if the XS module was found and is being used.
       Please do not change this variable.



       Eric Roode, roode@cpan.org

       Copyright (c) 2003-2009 by Eric J. Roode. All Rights Reserved.  This module is free
       software; you can redistribute it and/or modify it under the same terms as Perl itself.

       To avoid my spam filter, please include "Perl", "module", or this module's name in the
       message's subject line, and/or GPG-sign your message.

perl v5.16.3				    2009-02-24					    XS(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 10:32 PM.