Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jul 2006 04:56:51 +0800 (CST)
From:      Gea-Suan Lin <gslin@gslin.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        gslin@gslin.org
Subject:   ports/100308: [NEW PORT] devel/p5-Clone-Fast: Natively copying Perl data structures
Message-ID:  <20060714205651.D3BC7306@netnews.NCTU.edu.tw>
Resent-Message-ID: <200607142100.k6EL0VDn027436@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone/Fast
X@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Clone
X@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:



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