ports/100308: [NEW PORT] devel/p5-Clone-Fast: Natively copying Perl data structures
Gea-Suan Lin
gslin at gslin.org
Fri Jul 14 21:00:32 UTC 2006
>Number: 100308
>Category: ports
>Synopsis: [NEW PORT] devel/p5-Clone-Fast: Natively copying Perl data structures
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Jul 14 21:00:31 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Gea-Suan Lin
>Release: FreeBSD 6.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD netnews.NCTU.edu.tw 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sat May 13 03:43:48 CST 2006
>Description:
- Tinderbox log:
http://tb.gslin.org/logs/4.11-FreeBSD-Perl5/p5-Clone-Fast-0.90.1.log
http://tb.gslin.org/logs/4.11-FreeBSD-Perl58/p5-Clone-Fast-0.90.1.log
http://tb.gslin.org/logs/5.5-FreeBSD/p5-Clone-Fast-0.90.1.log
http://tb.gslin.org/logs/6-STABLE/p5-Clone-Fast-0.90.1.log
Essentially, this module is a very optimized version of Clone::More.
By taking advantage of one of Clone::More's 'OPTIMIZATION_HACKS' as
well as removing all the Pure Perl from the More.pm, I was able to
gain a lot of speed out of the module. Essentially, though, the core
of the module is exactly as that of Clone::More.
You will see that by useing Benchmark::cmpthese, I ran a simple
comparison between Storable::dclone, Clone::More::clone, and
Clone::Fast::clone. You will (should) begin to see the reason why I
loaded this module along side of Clone::More.
Rate Storable Clone::More Clone::Fast
Storable 7552/s -- -39% -59%
Clone::More 12400/s 64% -- -33%
Clone::Fast 18442/s 144% 49% --
For more information relative to the DESCRIPTION of this module, I
recommend peeking into the POD written for Clone::More (I took more
time with it ;) )
WWW: http://search.cpan.org/dist/Clone-Fast/
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- p5-Clone-Fast-0.90.1.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# p5-Clone-Fast
# p5-Clone-Fast/pkg-descr
# p5-Clone-Fast/Makefile
# p5-Clone-Fast/pkg-plist
# p5-Clone-Fast/distinfo
#
echo c - p5-Clone-Fast
mkdir -p p5-Clone-Fast > /dev/null 2>&1
echo x - p5-Clone-Fast/pkg-descr
sed 's/^X//' >p5-Clone-Fast/pkg-descr << 'END-of-p5-Clone-Fast/pkg-descr'
XEssentially, this module is a very optimized version of Clone::More.
XBy taking advantage of one of Clone::More's 'OPTIMIZATION_HACKS' as
Xwell as removing all the Pure Perl from the More.pm, I was able to
Xgain a lot of speed out of the module. Essentially, though, the core
Xof the module is exactly as that of Clone::More.
X
XYou will see that by useing Benchmark::cmpthese, I ran a simple
Xcomparison between Storable::dclone, Clone::More::clone, and
XClone::Fast::clone. You will (should) begin to see the reason why I
Xloaded this module along side of Clone::More.
X
X Rate Storable Clone::More Clone::Fast
X Storable 7552/s -- -39% -59%
X Clone::More 12400/s 64% -- -33%
X Clone::Fast 18442/s 144% 49% --
X
XFor more information relative to the DESCRIPTION of this module, I
Xrecommend peeking into the POD written for Clone::More (I took more
Xtime with it ;) )
X
XWWW: http://search.cpan.org/dist/Clone-Fast/
END-of-p5-Clone-Fast/pkg-descr
echo x - p5-Clone-Fast/Makefile
sed 's/^X//' >p5-Clone-Fast/Makefile << 'END-of-p5-Clone-Fast/Makefile'
X# New ports collection makefile for: p5-Clone-Fast
X# Date created: 2006-07-15
X# Whom: Gea-Suan Lin <gslin at gslin.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= Clone-Fast
XPORTVERSION= 0.90.1
XCATEGORIES= devel perl5
XMASTER_SITES= ${MASTER_SITE_PERL_CPAN}
XMASTER_SITE_SUBDIR= Clone
XPKGNAMEPREFIX= p5-
X
XMAINTAINER= gslin at gslin.org
XCOMMENT= Natively copying Perl data structures
X
XWRKSRC= ${WRKDIR}/${PORTNAME}
X
XPERL_CONFIGURE= yes
X
XMAN3= Clone::Fast.3
X
X.include <bsd.port.pre.mk>
X
X.if ${PERL_LEVEL} < 500600
XIGNORE= requires perl 5.6.0 or later. Install lang/perl5.8 then try again
X.endif
X
X.include <bsd.port.post.mk>
END-of-p5-Clone-Fast/Makefile
echo x - p5-Clone-Fast/pkg-plist
sed 's/^X//' >p5-Clone-Fast/pkg-plist << 'END-of-p5-Clone-Fast/pkg-plist'
X at comment $FreeBSD$
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone/Fast/.packlist
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone/Fast/Fast.bs
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone/Fast/Fast.so
X%%SITE_PERL%%/%%PERL_ARCH%%/Clone/Fast.pm
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone/Fast
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/Clone
END-of-p5-Clone-Fast/pkg-plist
echo x - p5-Clone-Fast/distinfo
sed 's/^X//' >p5-Clone-Fast/distinfo << 'END-of-p5-Clone-Fast/distinfo'
XMD5 (Clone-Fast-0.90.1.tar.gz) = 43b3607b71d28c8ab9c96415ae6dcba0
XSHA256 (Clone-Fast-0.90.1.tar.gz) = 2d91d511ee0fe53fb40b02c254fe423a87c665aeede1909241b79f05a5fc9b58
XSIZE (Clone-Fast-0.90.1.tar.gz) = 24582
END-of-p5-Clone-Fast/distinfo
exit
--- p5-Clone-Fast-0.90.1.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list