Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Aug 2006 10:19:55 +0000 (UTC)
From:      Andrew Pantyukhin <sat@FreeBSD.org>
To:        ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: ports/devel Makefile ports/devel/p5-Readonly-XS Makefile distinfo pkg-descr pkg-plist
Message-ID:  <200608021019.k72AJt1k034579@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
sat         2006-08-02 10:19:55 UTC

  FreeBSD ports repository

  Modified files:
    devel                Makefile 
  Added files:
    devel/p5-Readonly-XS Makefile distinfo pkg-descr pkg-plist 
  Log:
  Add port devel/p5-Readonly-XS:
  
  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 for these people, the XS portion was
  put into a separate module.
  
  WWW: http://search.cpan.org/dist/Readonly-XS/
  
  Justification:  socialtext dependency
  
  Revision  Changes    Path
  1.2385    +1 -0      ports/devel/Makefile
  1.1       +24 -0     ports/devel/p5-Readonly-XS/Makefile (new)
  1.1       +3 -0      ports/devel/p5-Readonly-XS/distinfo (new)
  1.1       +23 -0     ports/devel/p5-Readonly-XS/pkg-descr (new)
  1.1       +7 -0      ports/devel/p5-Readonly-XS/pkg-plist (new)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608021019.k72AJt1k034579>